假设我有NS1-450号。我可以选择将它们添加到nsmutablearray,可以从1开始以450结束,也可以从450开始以1结束。如果我可以从1开始,用450结束,我的代码会稍微简单一点,但是当我最后一次枚举数组时,我最终需要反转它。换句话说,我需要枚举中的第一个对象是450,最后一个对象是1。
因为如果我这样做的话,我的代码会更简单(添加1开始,然后在枚举之前反转它),这是我的首选方法。然而,苹果公司的文献说:
使用快速枚举协议更有效(请参见
NSFastEnumeration)。快速枚举在Mac OS X v10.5上可用
以及更高版本和iOS 2.0及更高版本。
所以,我应该避免数组反转,只需编写稍微复杂一点的代码,以便首先按照所需的顺序创建nsmutablearray吗?

最佳答案

您可以对NSEnumerator实例使用快速枚举,关于快速枚举的documentation甚至使用reverseObjectEnumerator:方法作为示例:

NSEnumerator *enumerator = [array reverseObjectEnumerator];
for (NSString *element in enumerator) {
    //...
}

此外,你的问题听起来像是过早的优化…

10-02 13:11