firstObject vs objectAtIndex:0的方法用法有什么不同?

时间:2014-02-21 01:17:51

标签: ios nsarray

今天我测试了使用firstObject和objectAtIndex:0。如果数组的大小为0,则使用前者不会导致崩溃,而后者会导致崩溃。所以我认为使用firstObject比使用objectAtIndex:0更好。但是使用firstObject而不是objectAtIndex:0?

是否存在缺陷

我也一直在阅读NSArray documentation,我很惊讶并且想知道为什么他们没有在文档中提到这个事实。

1 个答案:

答案 0 :(得分:22)

有一个 差异。如果没有firstObject,则使用nil。如果没有对象,使用objectAtIndex:0将使您的应用程序崩溃(抛出异常)。从用户体验的角度来看,强烈反对崩溃,因此使用firstObject更安全。

但是 最大的陷阱:自{4}以来,firstObject已经可用,但在iOS 7之前是一个私有API。