'da Y döngüsünde X için son yinelemede olup olmadığımı nasıl söylerim for (BazıArray'da NSObject * obj) {} sözdizimini kullanarak bir döngüye sahibim. Döngünün son yinelemesinde olup olmadığımı söylemenin kolay bir yolu var mı (yani [someArray sayımı kullanmak zorunda kalmadan)Objective-C
6
A
cevap
15
Belki bu işe yarayacak mı?
if (obj == [ someArray lastObject ]) {
// ...
}
14
Sen obj
[NSArray lastObject]
eşit olup olmadığını belirlemek için NSArray#lastObject
kullanabilirsiniz.
for (NSObject *obj in someArray) {
if ([someArray lastObject] == obj) {
NSLog(@"Last iteration");
}
}
5
Aksine her işleminde diziye çağrı yerine, dizideki son nesne önbelleğe daha iyi olabilir: Hala döngüde yöntemi aradığınız
NSObject *lastObject = [someArray lastObject];
for (NSObject *obj in someArray) {
// Loop code
if (obj == lastObject) {
// do what you want for the last array item
}
}
. İlk iki çizgiyi değiştirmek istediğini düşünüyorum. Başka bir küçük yazım hatası: "For" içindeki "F" harfi – gclj5
Bunu işaretlediğiniz için teşekkürler - Onu düzenleyeceğim. – Abizern