【问题标题】:core data object unique ID核心数据对象唯一 ID
【发布时间】:2013-01-14 10:52:35
【问题描述】:

我想向我的托管对象实体模型添加一个唯一 ID 字段。

我知道 Core Data 不使用 ID 关系,但这是不同的。我需要一种将线程安全数据传递给不同线程的方法,以便新线程可以从该数据中获取托管对象。

它可以是任何格式,但最好是单个对象/变量/值。

我可以将 CFUUID 作为 NSString 添加到对象中,但我不确定这是否理想?我应该做点别的吗?

欢迎任何替代方案,甚至只是确认 CFUUID 是可行的方法。

【问题讨论】:

  • 也许我遗漏了什么,但这不是 NSManagedObjectID 的用途吗?
  • 啊,可能以前从未听说过:D 我会调查的,谢谢。

标签: ios objective-c core-data


【解决方案1】:

正如@Carl Veazey 提到的: NSManagedObjectID 正是您要搜索的内容!

这里是一个简短的 sn-p:

  NSManagedObject *objectInMainContext = ....;

  NSManagedObjectID *objectID = objectInMainContext.objectID;
  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

    NSManagedObjectContext *newThreadContext = [[NSManagedObjectContext alloc] initWithConcurrencyType: ... ];    
    [newThreadContext objectWithID: objectID];
    ....
    ....
  });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多