是否保证NSArray for-loop枚举顺序?

Mur*_*ock 8 iphone objective-c nsarray ios xcode4

这里非常简单的问题:for循环中的枚举顺序是否保证遵循NSArray目标的顺序(即从对象索引0开始并每次递增1)?

具体来说,以下代码片段中的枚举顺序是否保证从数组索引0开始并且每个循环递增1?(codesArray是NSArray)

for (NSNumber *num in codesArray) {
    // do stuff //
}
Run Code Online (Sandbox Code Playgroud)

或者,如果我想保证枚举顺序,我必须做一个传统for的样式循环:

for (int i=0; i<[codesArray count]; i++) {
    // do stuff //
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

Jos*_*erg 7

是的,这些将按照您的预期遵循保证订单.

  • 这里的回答(对于同一个问题)有相同的结论,链接到Apple的文档:http://stackoverflow.com/a/2777629/189687 (2认同)