में एक्स लूप में एक्स के अंतिम पुनरावृत्ति पर मैं कैसे बताना चाहता हूं कि मेरे पास (कुछ एरे में NSObject * obj) {} वाक्यविन्यास का उपयोग करने वाला लूप है। क्या यह बताने का एक आसान तरीका है कि क्या मैं लूप के अंतिम पुनरावृत्ति पर हूं (यानी। [कुछ आरे गिनती] का उपयोग किए बिना)ऑब्जेक्टिव-सी
6
A
उत्तर
15
शायद यह काम करेगा?
if (obj == [ someArray lastObject ]) {
// ...
}
14
आप NSArray#lastObject
का उपयोग करता है, तो obj
[NSArray lastObject]
के बराबर है निर्धारित करने के लिए कर सकता है।
for (NSObject *obj in someArray) {
if ([someArray lastObject] == obj) {
NSLog(@"Last iteration");
}
}
5
बल्कि हर यात्रा पर सरणी में कॉल की तुलना में, यह बेहतर सरणी में पिछले वस्तु कैश करने के लिए हो सकता है:
NSObject *lastObject = [someArray lastObject];
for (NSObject *obj in someArray) {
// Loop code
if (obj == lastObject) {
// do what you want for the last array item
}
}
तुम अब भी पाश में विधि कॉल कर रहे हैं। मुझे लगता है कि आप पहली दो लाइनों को स्वैप करना चाहते थे। एक और छोटा टाइपो: – gclj5
में "अपरकेस 'एफ' में अपरकेस 'एफ' यह इंगित करने के लिए धन्यवाद - मैं इसे संपादित करूंगा। – Abizern