Kar*_*ick 1 core-data objective-c ios
我想从基于id的coredata中获取记录.因为我在每次迭代的for循环中获取执行时间非常大.有人可以告诉我如何有效地做到这一点.
for (int i = 0; i < [tempCodeDescArray count]; i++) {
NSDictionary *codeDescDict = [tempCodeDescArray objectAtIndex:i];
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"itemId=%@",[codeDescDict valueForKey:@"itemId"]];
[fetchRequest setPredicate:predicate];
NSError *error=nil;
NSArray *result=[context executeFetchRequest:fetchRequest error:&error];
}
Run Code Online (Sandbox Code Playgroud)
创建一个包含要获取的所有ID的数组:
NSArray *idsToFetch = [tempCodeDescArray valueForKey:@"itemId"];
Run Code Online (Sandbox Code Playgroud)
使用谓词获取具有单个获取请求的所有对象:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"itemId IN %@", idsToFetch];
Run Code Online (Sandbox Code Playgroud)
(如果您需要这个来导入数据,我还建议您阅读 "核心数据编程指南"中的" 高效实现查找或创建 ".)
| 归档时间: |
|
| 查看次数: |
587 次 |
| 最近记录: |