cocoa – 使用NSManagedObjectContext的objectWithID的“正确”方法是什么:

cocoa – 使用NSManagedObjectContext的objectWithID的“正确”方法是什么:,第1张

概述文档说明: …This method always returns an object. The data in the persistent store represented by objectID is assumed to exist—if it does not, the returned object throws an exception when you access any pr 文档说明:

…This method always returns an object.
The data in the persistent store
represented by objectID is assumed to
exist—if it does not,the returned
object throws an exception when you
access any property (that is,when the
fault is fired). The benefit of this
behavior is that it allows you to
create and use faults,then create the
underlying rows later or in a separate
context.

在Apple的’Core Recipes’示例应用程序中,该方法的结果用于填充NSFetchRequest,然后使用请求的结果,并对此结果进行注释:

// first get the object into the context Recipe *recipeFault = (Recipe *)[context objectWithID:objectID]; // this only creates a fault,which may NOT resolve to an object (for example,if the ID is for // an objec that has been deleted already):  create a fetch request to get the object for real NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; [request setEntity: [NSEntityDescription entityForname:@"Recipe" inManagedobjectContext:context]]; nspredicate *predicate = [nspredicate predicateWithFormat: @"(self == %@)",recipeFault];                    [request setPredicate: predicate];

我看过很多例子(其他代码和apple的’iClass’),其中objectWithID的结果直接使用 – 意思是,它的属性被访问并快速处理.

objectWithID是否应始终被视为“可能存在”的对象?

我问,因为我刚刚遇到这个并没有反对它的存在.

解决方法 Apple文档告诉您的不是假设对象存在是持久性存储,只是因为返回了一个对象.

您可以像对待它一样对待它,访问其属性等等,因为在后台Core Data将访问数据存储来为您的请求提供服务.但是,如果商店中不存在该对象,您将获得异常.

Here’s Apple’s documentation explaining faults(这是objectWithID:返回给你).

总结

以上是内存溢出为你收集整理的cocoa – 使用NSManagedObjectContext的objectWithID的“正确”方法是什么:全部内容,希望文章能够帮你解决cocoa – 使用NSManagedObjectContext的objectWithID的“正确”方法是什么:所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1004312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存