2012-10-25 59 views
13

但它有一個lastObject,有人知道爲什麼嗎?爲什麼NSArray沒有firstObject方法?

+0

甚至有一個博客: http://troybrant.net/blog/2010/02/adding-firstobject-to-nsarray/ – zchenah

+3

根據我的一個朋友,實際上有一個 - [NSArray firstObject]爲很長一段時間,它只是私人的。 –

+2

它沒有'-secondObject'或'-thirdObject'。 – Caleb

回答

19

我的猜測是因爲lastObject減少了更多的樣板代碼。您可以使用[array lastObject]以使用現代Objective-C語法替換[array objectAtIndex:array.count - 1]array[array.count - 1]

鑑於在firstObject的情況下,您可以簡單地檢查[array objectAtIndex:0]array[0]。 它只是幫助簡化事情,以便能夠撥打lastObject而不是輸入該功能。

更新

由於@Nathaniel Symer建議在他的評論上面,firstObject以前可用的,但只有在私有API(我相信,因爲iOS 4的)。但是,從iOS 7 SDK的發佈開始,firstObject現已公開發布!

+1

我打算說同樣的想法,最後一個對象實際上是查詢索引最高的對象,這就是爲什麼有一個方便的方法。 – Pochi

+0

是的,謝謝。這很可能。當我同時使用[myArray objectAtIndex:0]和[myArray lastObject]時,我只是感覺到一種「不平衡」... – zchenah

+0

@NSPostWhenIdle肯定我會:)但是讓我等一下,看看是否有其他想法 – zchenah

相關問題