Heim > Fragen und Antworten > Hauptteil
PHP中文网2017-04-17 17:42:23
oc的for in 快速枚举遍历的时候是按照元素在容器内的顺序(NSArray
中元素的顺序是你添加的顺序,NSSet
和NSDictionry
中元素的顺序是按照底层算法进行排序的与你添加的顺序不同)进行枚举的。
要注意的是使用for in快速枚举NSMutableArray
这类可变对象时要注意不能对容器进行修改,否则会导致遍历器抛出异常导致程序崩溃。
巴扎黑2017-04-17 17:42:23
用 for-in 去遍历容器时:
NSArray,是按照数组 index 的顺序来遍历。
NSDictionary,是通过遍历字典的 keys 数组,再通过 valueForKey: 来获取 value。
NSSet,是无序的。