但它有一個lastObject,有人知道爲什麼嗎?爲什麼NSArray沒有firstObject方法?
13
A
回答
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. 方法firstObject vs objectAtIndex的用法有什麼區別:0?
- 2. 爲什麼沒有Array.IsNullOrEmpty()方法?
- 3. 爲什麼Object [ID]沒有方法'Animate'?
- 4. 爲什麼ObservableCollection沒有RemoveAll方法?
- 5. 爲什麼DataTable.Rows沒有.Where()方法?
- 6. 爲什麼GLAutoDrawable沒有方法addMouseListener將
- 7. 爲什麼Rails沒有belongs_to through方法?
- 8. 爲什麼NStepLSTM沒有reset_state方法?
- 9. RandomAccess接口,爲什麼沒有方法?
- 10. 爲什麼GLSurfaceView.Renderer中沒有onSurfaceDestroyed方法?
- 11. 爲什麼沒有Convert.toFloat()方法?
- 12. 爲什麼SerializationInfo沒有TryGetValue方法?
- 13. 爲什麼VolatileImage沒有set/getPixel()方法
- 14. 爲什麼Ruby沒有is_an?方法?
- 15. 爲什麼Object類沒有Thread方法
- 16. 爲什麼Node.js Assert沒有notOk()方法?
- 17. 爲什麼org.lwjgl.opengl.GL43類沒有glDrawElements方法?
- 18. 爲什麼XElement沒有GetAttributeValue方法?
- 19. 爲什麼沒有Stream.flatMap(Collection)方法?
- 20. Mongoid爲什麼沒有「事務」方法?
- 21. QGraphicsItem:爲什麼沒有`stackAfter`方法?
- 22. 爲什麼NSSet沒有writeToFile方法?
- 23. 有沒有什麼方法可以使用'unset'作爲方法?
- 24. 爲什麼ClaimsPrincipal具有AddIdentity方法但沒有RemoveIdentity方法?
- 25. 爲什麼某些方法有.prototype和其他方法沒有?
- 26. 爲什麼沒有沒有參數的IsNullOrEmpty重載方法?
- 27. 爲什麼Enumerable中的方法可能沒有方法體?
- 28. 爲什麼currentThread方法沒有方法BODY?
- 29. 爲什麼[NSArray類]沒有返回我所期望的?
- 30. 爲什麼service()方法沒有官方文檔?
甚至有一個博客: http://troybrant.net/blog/2010/02/adding-firstobject-to-nsarray/ – zchenah
根據我的一個朋友,實際上有一個 - [NSArray firstObject]爲很長一段時間,它只是私人的。 –
它沒有'-secondObject'或'-thirdObject'。 – Caleb