我有一个循环使用for(在someArray中的NSObject*obj){}语法.是否有一种简单的方法可以判断我是否在循环的最后一次迭代中(即不必使用[someArray count])
cod*_*gic 16
也许这会奏效吗?
if ( obj == [ someArray lastObject ] ) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
wfa*_*arr 15
您可以NSArray#lastObject用来确定是否obj等于[NSArray lastObject].
for (NSObject *obj in someArray) {
if ([someArray lastObject] == obj) {
NSLog(@"Last iteration");
}
}
Run Code Online (Sandbox Code Playgroud)
而不是在每次迭代打电话到阵列中,它可能是更好的缓存阵列中的最后一个对象:
NSObject *lastObject = [someArray lastObject];
for (NSObject *obj in someArray) {
// Loop code
if (obj == lastObject) {
// do what you want for the last array item
}
}
Run Code Online (Sandbox Code Playgroud)