2012-10-25 57 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

相关问题