2012-10-25 13 views
13

लेकिन इसमें अंतिम ऑब्जेक्ट है, किसी को पता है क्यों?क्यों NSArray में पहली ऑब्जेक्ट विधि नहीं है?

+0

वहाँ भी एक ब्लॉग है: http://troybrant.net/blog/2010/02/adding-firstobject-to-nsarray/ – zchenah

+3

मेरे साथी में से एक के अनुसार, वहाँ वास्तव में एक कर दिया गया है - [NSArray फर्स्टऑब्जेक्ट] के लिए एक लंबा समय, यह अभी निजी है। –

+2

इसमें '-secondObject' या' -thirdObject' या तो नहीं है। – Caleb

उत्तर

19

मेरा अनुमान है क्योंकि lastObject अधिक बॉयलरप्लेट कोड कम कर देता है। आप आधुनिक उद्देश्य-सी वाक्यविन्यास का उपयोग करके [array objectAtIndex:array.count - 1] या array[array.count - 1] को प्रतिस्थापित करने के लिए [array lastObject] का उपयोग करें।

firstObject के मामले में आप बस [array objectAtIndex:0] या array[0] देख सकते हैं। यह उस कार्य को टाइप करने के बजाय lastObject पर कॉल करने में सक्षम होने के लिए चीजों को व्यवस्थित करने में मदद करता है।

अद्यतन

रूप @Nathaniel Symer ऊपर अपने टिप्पणी में सुझाव दिया, firstObject पहले से उपलब्ध है, लेकिन केवल निजी एपीआई में किया गया है (मैं आईओएस 4 के बाद से विश्वास करते हैं)। हालांकि, आईओएस 7 एसडीके की रिलीज के रूप में, firstObject अब सार्वजनिक रूप से उपलब्ध है!

+1

मैं वही सोचने जा रहा था, आखिरी वस्तु वास्तव में उच्चतम सूचकांक वाले ऑब्जेक्ट के लिए पूछताछ करती है, यही कारण है कि इसके लिए एक सुविधाजनक तरीका है। – Pochi

+0

हां धन्यवाद। यह बहुत संभव है। मैं [myArray objectAtIndex: 0] और [myArray lastObject] दोनों का उपयोग करते समय बस "असंतुलन" महसूस करता हूं ... – zchenah

+0

@NSPostWhenIdle यकीन है कि मैं करूँगा :) लेकिन कृपया मुझे यह देखने के लिए एक पल प्रतीक्षा करने दें कि क्या कोई अन्य विचार है – zchenah

संबंधित मुद्दे