max*_*son 4 cocoa-touch enumeration objective-c nsmutablearray
假设我有1到450的NSNumbers.我可以选择将它们添加到NSMutableArray,从1开始到450结束,或从450开始到1结束.如果我可以从1开始并结束,我的代码会更简单一点有450,但是当我终于要在阵列上进行枚举的时候,我最终需要逆转它.换句话说,我需要枚举中的第一个对象为450,最后一个对象为1.
因为我的代码会更简单,如果我这样做(从1开始添加,然后在枚举之前反转),这是我的首选方法.但是,Apple文档- (NSEnumerator *)reverseObjectEnumerator说:
使用快速枚举协议更有效(请参阅NSFastEnumeration).Mac OS X v10.5及更高版本以及iOS 2.0及更高版本提供快速枚举.
那么我应该避免数组反转并简单地编写稍微复杂的代码,以便首先以所需的顺序创建NSMutableArray吗?
您可以对NSEnumerator实例使用快速枚举,有关快速枚举的文档甚至使用该reverseObjectEnumerator:方法作为示例:
NSEnumerator *enumerator = [array reverseObjectEnumerator];
for (NSString *element in enumerator) {
//...
}
Run Code Online (Sandbox Code Playgroud)
此外,你的问题听起来很像过早优化......
| 归档时间: |
|
| 查看次数: |
497 次 |
| 最近记录: |