ios - 检查 name 属性是否已存在于 CoreData 中

标签 ios iphone cocoa-touch core-data

我有一个名为 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/

相关文章:

ios - 如何检查是否启用了视差

iphone - 链接器错误 - 类不再存在

ios - 重新排序 TableView 和节标题高度变为零时数据源不会更新

iphone - 单击 UITableViewCell 中的 UITextField

iphone - 仅在屏幕的有限区域内保持 UIView 可见

iphone - CoreLocation 的准确度测量有多准确

iphone - 如何在 OpenGL ES 1.1 中优化大型模型的渲染?

iphone - 当我尝试 +2.50 时,NSString 四舍五入到最接近的整数

iphone - 如何使用 iOS Keychain 在 iPhone 上存储 OAuth token ?

arrays - 对象类型的变量作为数组行为不当