oc語言中有三種遍歷數(shù)組的方式优妙,一是傳統(tǒng)的for循環(huán),二是for-in循環(huán)唐责,三是迭代器鳞溉。其中,第一種方式的效率最低鼠哥。第二種遍歷方法如下熟菲,第三種使用比較少,你可以自己去網上看下朴恳。
如果在for in 循環(huán)里抄罕,對這個數(shù)組進行了修改的話,無論是增于颖,刪呆贿,修改數(shù)組元素位置,都會扔一個異常出來森渐,錯誤是被遍歷的數(shù)組已被銷毀(<__NSArrayM: 0xa4fc000> was mutated while being enumerated.)
但是有一種情況是可以的 那就是修改數(shù)組的值 不要修改位置什么的
// 修改
for (Employee *emp in emps) {
emp.height = @2.0;
}
// 刪除
for (NSString * str in names)
{
if ([str isEqualTo: @"something"]){
[names removeObject: str];
break;
//一定要有break做入,否則會出錯的。
}
}