-[NSArray firstObject]的实现
-[NSArray firstObject]可能是Objective-C中被调用做多的API。在Open Radar上一个简单的调查显示有一些需求苹果已经做了记录。好消息是现在这些需求已经得到了解决。. firstObject的使用可以追溯到iOS4.0,但是那时仅仅是一个私有方法。在iOS7以前,工程师用下面的方式来使用它:
- NSArray *arr = @[];
- id item = [arr firstObject];
- // 之前你需要做以下工作
- id item = [arr count] > 0 ? arr[0] : nil;
因为上面的方式很平常,有些人将它作为一个类增加到NSArray中,然后创建他们自己的firstObject方法。在Github上做一个快速搜索你可以看到过去这种方式是有多么的常用。
这个方法的问题是这个方法的名字必须是唯一的,否则的话这个方法所引发的问题无法预估。请确保检查你是否有任何自定义的代码在NSArray上实现了firstObject,如果有的话看看它是否是必须的,不是必须的话就把它全部移除。
来自:http://www.cocoachina.com/applenews/devnews/2014/0117/7715.html
在Objective-C中,NSArray的.firstObject方法是被广泛调用的API之一。该方法最初在iOS4.0作为私有方法出现,在iOS7之前,开发者需手动检查数组是否为空。为简化这一过程,部分开发者在NSArray上自定义了firstObject方法。随着苹果官方在后续版本中正式引入此方法,开发者需检查并移除自定义实现。

被折叠的 条评论
为什么被折叠?



