使用NSFastEnumeration时检测最后一个元素?

时间:2010-12-29 22:36:23

标签: iphone objective-c arrays ios

使用NSFastEnumeration时是否可以检测到最后一项?

for(NSString *str in someArray){

  //Can I detect if I'm up to the last string?

}

3 个答案:

答案 0 :(得分:7)

  

是否可以检测到最后一项   什么时候使用NSFastEnumeration?

没有100%的准确性(或者通过将数组内容限制为完全唯一的指针,以便指针比较在另一个问题中讨论),而不会做一堆导致以旧方式执行的工作。

请注意,如果您可以定位4.0+,则可以使用enumerateWithBlock:同时提供项目和索引。它甚至比快速枚举快或快。

答案 1 :(得分:2)

我认为唯一的方法是老式的方式,例如:

    NSUInteger count = [someArray count];
    for (NSString *str in someArray) {
         if (--count==0) {
              //this is the last element
         }
    }

答案 2 :(得分:-1)

在循环结束时,“str”仍将指向最后一个元素。你需要做什么?