如何判断我';在Objective-C中,a for X in Y循环的最后一次迭代中的m

如何判断我';在Objective-C中,a for X in Y循环的最后一次迭代中的m,objective-c,Objective C,我有一个使用for(NSObject*obj in someArray){}语法的循环。是否有一种简单的方法来判断我是否在循环的最后一次迭代中(即,不必使用[someArray count])也许这会起作用 if ( obj == [ someArray lastObject ] ) { // ... } 您可以使用NSArray#lastObject确定obj是否等于[NSArray lastObject] for (NSObject *obj in someArray) {

我有一个使用for(NSObject*obj in someArray){}语法的循环。是否有一种简单的方法来判断我是否在循环的最后一次迭代中(即,不必使用[someArray count])

也许这会起作用

if ( obj == [ someArray lastObject ] ) {
    // ...
}

您可以使用
NSArray#lastObject
确定
obj
是否等于
[NSArray lastObject]

for (NSObject *obj in someArray) {
    if ([someArray lastObject] == obj) {
        NSLog(@"Last iteration");
    }
}

与其每次迭代都调用数组,不如缓存数组中的最后一个对象:

NSObject *lastObject = [someArray lastObject];
for (NSObject *obj in someArray) {

    // Loop code

    if (obj == lastObject) {
        // do what you want for the last array item
    }
}

您仍在循环中调用该方法。我想你是想交换前两行。另一个小小的打字错误:“For”中的大写字母“F”