可能重複:
Does fast enumeration in Objective-C guarantee the order of iteration?Obj-c for..in循環與NSArray排序?
只是一個簡單的問題是被證明有問題的谷歌:
當快速遍歷一個NSArray像這樣:
for (NSObject *obj in array) {}
訂單是否明確?在我的測試中,似乎是,但我無法在任何地方找到保證...
謝謝!
可能重複:
Does fast enumeration in Objective-C guarantee the order of iteration?Obj-c for..in循環與NSArray排序?
只是一個簡單的問題是被證明有問題的谷歌:
當快速遍歷一個NSArray像這樣:
for (NSObject *obj in array) {}
訂單是否明確?在我的測試中,似乎是,但我無法在任何地方找到保證...
謝謝!
從Objective-C編程語言的Fast Enumeration section:
對於集合或枚舉具有在良好定義的順序,如一個NSArray或從衍生的NSEnumerator實例陣列枚舉前進該順序,所以只需計算迭代就可以在需要時爲集合提供適當的索引。
是的,它的確如此。
該文件說NSArray及其子類«管理訂購對象集合»。 這是您正在尋找的保證。
請注意,例如,NSDictionary並非如此。