今天我已经使用firstObject和objectAtIndex:0进行了测试.如果数组的大小为0,则使用前者不会导致崩溃,而后者会导致崩溃.所以我认为使用firstObject比objectAtIndex更好:0.但是在objectAtIndex:0中使用firstObject时是否存在缺陷?
我也在读过NSArray documentation,我很惊讶,想知道为什么他们没有在文件中提到这个事实.
解决方法
有一个主要区别.如果没有,使用firstObject返回nil.使用objectAtIndex:0将会崩溃您的应用程序(抛出异常),如果没有对象.从用户体验的角度来看,崩溃是高度倡导的,所以使用firstObject更安全.
但最大的陷阱是:firstObject从iOS 4开始就可以使用,但直到iOS 7才是私有API.