id<NSFastEnumeration>
   
  
  
   NSFastEnumeration实现的唯一方法是:
  
  - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len
  
  
  
   背景:
  
  
   我想创建一个函数返回值的NSArray,我想用给定集合中的每个元素调用它。我想要一个用函数枚举集合的结果数组。
  
  id<NSFastEnumeration> enumeratable = someObject;
NSMutableArray* results = [NSMutableArray arrayWithCapacity:(#Fill in count here#)];
for (id object in enumeratable) {
    [results addObject:callFunctionOnObject(object)];
}
  
   如您所见,我只需要该计数来优化数组初始化。我很清楚我可以
   
    NSMutableArray* results = [NSMutableArray array];
   
   相反。