在我的一个类中,我有一个名为items的派生属性,它基本上就像:
- (NSArray *)items
{
[self.unsortedSet.allValues sortedArrayUsingDescriptor:...];
}
然后在其他地方:
[self.items enumerateUsingBlock...{
// do something with item
}]
在这种情况下,如果self.items有X项,那么枚举块是否会生成自我项目X次?或者更安全:
NSArray *sortedItems = self.items;
[sortedItems enumerateUsingBlock...{}]
答案 0 :(得分:0)
那么枚举块是否会生成X次的self.items?
没有。就一次。这是为了语义和效率。
或者它更安全......
语义取决于您的实现。