如何判断我';在Objective-C中,a for X in Y循环的最后一次迭代中的m
我有一个使用for(NSObject*obj in someArray){}语法的循环。是否有一种简单的方法来判断我是否在循环的最后一次迭代中(即,不必使用[someArray count])也许这会起作用如何判断我';在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) {
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”