L_S*_*nic 3 cocoa objective-c foundation
客观C和iPhone的速度更快?自我枚举或循环?
我有2个代码片段来帮助我比较.
对于这个例子,我们有一个事实,即array是一个带有"x"项的NSMutableArray.情况1:
-(void)findItem:(Item*)item
{
Item *temp;
for (int i = 0 ;i<[array count];i++)
{
temp = [array objectAtIndex:i];
if(item.tag == temp.tag)
return;
}
}
Run Code Online (Sandbox Code Playgroud)
案例2:
-(void)findItem:(Item*)item
{
for(Item *temp in array)
{
if(item.tag == temp.tag)
return;
}
}
Run Code Online (Sandbox Code Playgroud)
几乎可以看出case2更快,是吗?
它被称为快速枚举,这是有原因的.
请参阅:http://cocoawithlove.com/2008/05/fast-enumeration-clarifications.html
| 归档时间: |
|
| 查看次数: |
7893 次 |
| 最近记录: |