检查Core Data中是不是存在对象[关闭]

Posted

技术标签:

【中文标题】检查Core Data中是不是存在对象[关闭]【英文标题】:Check the existence of an object in Core Data [closed]检查Core Data中是否存在对象[关闭] 【发布时间】:2012-04-19 19:32:34 【问题描述】:

我在回答另一个问题时找到了这段代码:

NSError *error = nil;
NSUInteger count = [managedObjectContext countForFetchRequest:request error:&error];
[request release];

if (!error)
  return count;

else
  return 0;

问题是,我不知道我的 fetch 请求是什么,以便让它只可能返回我的对象​​,而没有其他对象。

【问题讨论】:

请注意这里的错误处理是不正确的; as is generally the case in Cocoa,在检查错误对象之前必须检查直接返回值(count)。在这种情况下,the docs say 表示返回 NSNotFound 表示错误。 “我的对象”是什么意思?您必须创建一个 NSPredicate 来确定您的获取条件。 您应该提供实体名称和您感兴趣的属性以便我们帮助您) 您应该添加更多代码,关于您要检索的对象类型等。 Andrew:说真的,您成为 *** 的成员已经超过 15 个月了。在那段时间里,你已经在 objc/cocoa/ios 上提出了大约 300 个问题。而且您仍然只是从其他帖子中复制和粘贴代码,将其放入您的帖子中,而不是期望我们填写其余部分。我真的没有动力以这种态度帮助你。我相信其他人也会有同样的感受。 【参考方案1】:

请求是 NSFetchRequest。您创建一个,并使用它来查找您的对象。比如……

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Person"];
request.predicate = [NSPredicate predicateWithFormat:@"ssan = %@", ssan];

现在,您使用该 fetch 请求,它将找到所有具有与字符串变量匹配的属性“sean”的“Person”实体。

如果您只想找到一个对象,则需要某种类型的唯一标识符进行搜索。

【讨论】:

以上是关于检查Core Data中是不是存在对象[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

检查formdata对象键是不是存在

如何检查POSTMAN中是不是存在对象?

Core Data 中看似有效的对象出现“悬空引用无效对象”错误

检查数组对象是不是存在

检查jquery的对象中是不是存在键

检查列表中的对象是不是存在,如果在 R 中不存在则将其删除