方法firstObject vs objectAtIndex的用法有什么区别:0?

今天我已经testing使用firstObject和objectAtIndex:0。 如果数组大小为0,则使用前者不会导致崩溃,而后者会导致崩溃。 所以我在想,使用firstObject比objectAtIndex:0更好。 但是在使用firstObject over objectAtIndex方面还有什么问题:0?

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

有一个关键的区别。 如果没有,则使用firstObject返回nil 。 如果没有对象,使用objectAtIndex:0会导致应用程序崩溃(抛出exception)。从用户体验的angular度来看,高度提倡使用crash,所以使用firstObject更安全。

但是最大的缺陷是: firstObject从iOS 4开始就已经可用了,但直到iOS 7才成为一个私有API。