我在应用程序中使用核心数据,并且基本上想知道是否有人知道这两个过程中的哪一个会更快...
我有一个表视图,需要将核心数据中的条目与行匹配,此时我将所有核心数据类放入数组:
NSArray *classArray = (NSArray *)[currentUser myCDClasses];
for(myCDClasses *class in classArray)
{
if([class class_id] == theIDINeedToMatch)
{
myCDClasses *classForThisRow = class;
break;
}
}
我想知道的是,如果根据我需要检索的ID来预测搜索会更快吗?
我认为通常循环的最大项目大约是40。
答案 0 :(得分:0)
我怀疑你会注意到40件物品的任何差异。对于大型数据集,使用谓词可能更快,因为搜索是在SQLite级别完成的,只有结果被加载到内存中,而“循环解决方案”要求您比较的所有对象都是“出错” “并从商店文件中读取。