核心数据,循环VS搜索

问题描述:

我正在使用的应用程序的核心数据,基本上想知道是否有人有一个想法,这两个过程的速度会更快...核心数据,循环VS搜索

我有一个表视图,需要此刻匹配的核心数据与行中的条目,我把所有的核心数据类在数组中使用:

NSArray *classArray = (NSArray *)[currentUser myCDClasses]; 

for(myCDClasses *class in classArray) 
{ 
    if([class class_id] == theIDINeedToMatch) 
    { 
    myCDClasses *classForThisRow = class; 
    break; 
    } 
} 

我想知道什么,如果它会根据ID更快,只是断言搜索我需要检索?

我通常认为最大的项目,将不得不for循环将是约40

+0

快速枚举总是一个不错的主意,它比块枚举器更快(在字典块的情况下会更快一些取决于数组的大小)。 – 2013-03-14 11:10:38

我怀疑你会发现40项任何区别。对于大型数据集,使用谓词可能会更快,因为搜索是在SQLite级别上完成的,只有结果会加载到内存中,而“循环解决方案”要求您比较的所有对象都是“出错的“并从商店文件中读取。