我有一个循环使用for(在someArray中的NSObject*obj){}语法.是否有一种简单的方法可以判断我是否在循环的最后一次迭代中(即不必使用[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 } }