【发布时间】:2011-06-29 10:26:39
【问题描述】:
我可以使用以下代码在 Core Data 中轻松获取对象的 ID:
NSManagedObjectID *moID = [managedObject objectID];
但是,有没有办法通过给它一个特定的对象 ID 来从核心数据存储中取出一个对象?我知道我可以通过使用 NSFetchRequest 来做到这一点,如下所示:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Document" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(objectID = %@)", myObjectID];
[fetchRequest setPredicate:predicate];
但是,我想以一种不会启动其自己的获取请求的方式来执行此操作。有什么想法吗?
【问题讨论】:
-
但是通过获取请求方式,您可以设置要预取的属性或关系,这将为您提供出色的效率,而不是在访问时进行更多查询。
标签: ios macos cocoa core-data nsfetchrequest