核心数据,循环VS搜索
问题描述:
我正在使用的应用程序的核心数据,基本上想知道是否有人有一个想法,这两个过程的速度会更快...核心数据,循环VS搜索
我有一个表视图,需要此刻匹配的核心数据与行中的条目,我把所有的核心数据类在数组中使用:
NSArray *classArray = (NSArray *)[currentUser myCDClasses];
for(myCDClasses *class in classArray)
{
if([class class_id] == theIDINeedToMatch)
{
myCDClasses *classForThisRow = class;
break;
}
}
我想知道什么,如果它会根据ID更快,只是断言搜索我需要检索?
我通常认为最大的项目,将不得不for循环将是约40
答
我怀疑你会发现40项任何区别。对于大型数据集,使用谓词可能会更快,因为搜索是在SQLite级别上完成的,只有结果会加载到内存中,而“循环解决方案”要求您比较的所有对象都是“出错的“并从商店文件中读取。
快速枚举总是一个不错的主意,它比块枚举器更快(在字典块的情况下会更快一些取决于数组的大小)。 – 2013-03-14 11:10:38