gpt4 book ai didi

ios - 在for循环内获取Coredata

转载 作者:行者123 更新时间:2023-12-01 17:56:29 25 4
gpt4 key购买 nike

我想基于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];
}

最佳答案

创建一个包含您要获取的所有ID的数组:

NSArray *idsToFetch = [tempCodeDescArray valueForKey:@"itemId"];

并使用谓词通过单个获取请求获取所有对象:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"itemId IN %@", idsToFetch];

(如果您需要此文件来导入数据,我也建议阅读
“核心数据编程指南”中的 Implementing Find-or-Create Efficiently。)

关于ios - 在for循环内获取Coredata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16415797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com