-[NSArray firstObject]的实现

-[NSArray firstObject]的实现
-[NSArray firstObject]可能是Objective-C中被调用做多的API。在Open Radar上一个简单的调查显示有一些需求苹果已经做了记录。好消息是现在这些需求已经得到了解决。. firstObject的使用可以追溯到iOS4.0,但是那时仅仅是一个私有方法。在iOS7以前,工程师用下面的方式来使用它:
 
  
  
  
  
  1. NSArray *arr = @[]; 
  2. id item = [arr firstObject]; 
  3. // 之前你需要做以下工作 
  4. id item = [arr count] > 0 ? arr[0] : nil; 
因为上面的方式很平常,有些人将它作为一个类增加到NSArray中,然后创建他们自己的firstObject方法。在Github上做一个快速搜索你可以看到过去这种方式是有多么的常用。
 
 这个方法的问题是这个方法的名字必须是唯一的,否则的话这个方法所引发的问题无法预估。请确保检查你是否有任何自定义的代码在NSArray上实现了firstObject,如果有的话看看它是否是必须的,不是必须的话就把它全部移除。

来自:http://www.cocoachina.com/applenews/devnews/2014/0117/7715.html

你可能感兴趣的:(-[NSArray firstObject]的实现)