我有一个名为 BankInfo
的实体,它的参数之一是 name
,它是一个字符串。我只是想知道,CoreData
中是否有一种方法可以检查 name
是否已经存在于 BankInfo
中,而不必检索每个 BankInfo
对象并分别循环检查它们?实现这一目标的最有效方法是什么?
最佳答案
您可以使用带有谓词 的获取请求 来查找与特定属性匹配的对象。
如果你只对存在感兴趣
具有给定键的对象,使用 countForFetchRequest
而不是实际获取对象,并将结果集限制为一个对象:
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"BankInfo"];
[request setPredicate:[NSPredicate predicateWithFormat:@"name = %@", theName]];
[request setFetchLimit:1];
NSUInteger count = [context countForFetchRequest:request error:&error];
if (count == NSNotFound)
// some error occurred
else if (count == 0)
// no matching object
else
// at least one matching object exists
关于ios - 检查 name 属性是否已存在于 CoreData 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20794757/