iOS 关于循环

oc语言中有三种遍历数组的方式,一是传统的for循环,二是for-in循环,三是迭代器。其中,第一种方式的效率最低。第二种遍历方法如下,第三种使用比较少,你可以自己去网上看下。

如果在for in 循环里,对这个数组进行了修改的话,无论是增,删,修改数组元素位置,都会扔一个异常出来,错误是被遍历的数组已被销毁(<__NSArrayM: 0xa4fc000> was mutated while being enumerated.


但是有一种情况是可以的 那就是修改数组的值 不要修改位置什么的

// 修改

for (Employee *emp in emps) {

emp.height = @2.0;

}

// 删除

for (NSString * str in names)

{

if ([str isEqualTo: @"something"]){

[names removeObject: str];

break;

//一定要有break,否则会出错的。

}

}

你可能感兴趣的:(iOS 关于循环)