今天我测试了使用firstObject和objectAtIndex:0。如果数组的大小为0,则使用前者不会导致崩溃,而后者会导致崩溃。所以我认为使用firstObject比使用objectAtIndex:0更好。但是使用firstObject而不是objectAtIndex:0?
是否存在缺陷我也一直在阅读NSArray documentation,我很惊讶并且想知道为什么他们没有在文档中提到这个事实。
答案 0 :(得分:22)
有一个 键 差异。如果没有firstObject
,则使用nil
。如果没有对象,使用objectAtIndex:0
将使您的应用程序崩溃(抛出异常)。从用户体验的角度来看,强烈反对崩溃,因此使用firstObject
更安全。
但是 最大的陷阱:自{4}以来,firstObject
已经可用,但在iOS 7之前是一个私有API。