【问题标题】:IOS/Objective-C/Core-data: how to get object from objectIDIOS/Objective-C/Core-data:如何从objectID获取对象
【发布时间】:2016-02-05 02:34:29
【问题描述】:

This answer 建议从 objected 中获取对象,使用如下方法:

-(NSManagedObject *)objectRegisteredForID:(NSManagedObjectID *)objectID

-(NSManagedObject *)objectWithID:(NSManagedObjectID *)objectID

这可能是一个愚蠢的问题,但您如何称呼这些方法?由于涉及到 MOC、托管对象和其他对象,我发现这非常令人困惑,并且无法成功调用任何一种方法。

这是一个“使用未声明的标识符”错误,例如:

NSManagedObject *object = objectRegisteredForID:self.moID;

感谢您的澄清。

【问题讨论】:

  • 这两个方法,以及链接中提到的第三个方法,都在 NSManagedObjectContext 中声明。因此,您将在 NSManagedObjectContext 上调用这些方法。如果使用私有并发,请确保您在上下文的块中

标签: ios objective-c core-data objectid


【解决方案1】:

是的,两者都是NSManagedObjectContext 的方法,因此您需要在此对象所在的NSManagedObjectContext 实例上调用此方法。

另见https://developer.apple.com/library/mac/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObjectContext_Class/index.html#//apple_ref/occ/instm/NSManagedObjectContext/objectWithID

【讨论】:

  • NSManagedObject *object = [self.managedObjectContext objectRegisteredForID:_moID];正在工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-22
  • 2012-11-11
相关资源
最近更新 更多