但它有一个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