У меня есть цикл, использующий синтаксис for (NSObject * obj в someArray) {}. Есть ли простой способ узнать, нахожусь ли я на последней итерации цикла (т.е. без необходимости использовать [someArray count])
Может это сработает?
if ( obj == [ someArray lastObject ] ) { // ... }
Вы можете использовать NSArray#lastObject, чтобы определить, равно ли obj [NSArray 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 } }