检查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中是不是存在对象[关闭]的主要内容,如果未能解决你的问题,请参考以下文章