2013-01-14 71 views
2

我想爲管理對象實體模型添加唯一的ID字段。核心數據對象唯一ID

我知道Core Data不使用ID關係,但這是不同的。我需要一種將線程安全數據傳遞給不同線程的方式,以便新線程可以從該數據中獲取託管對象。

它可以是任何格式,但理想上只有一個對象/變量/值。

我可以添加一個CFUUID作爲NSString的對象,但我不知道這是否理想?我應該做其他事嗎?

歡迎任何替代方案,甚至只是確認CFUUID是要走的路。

+2

也許我失去了一些東西,但不是這個什麼'NSManagedObjectID'是? –

+0

啊,可能從來沒有聽說過:D我會調查,謝謝。 – Fogmeister

回答

3

as @Carl Veazey提到它: NSManagedObjectID正是你在尋找什麼!

這裏北京時間很短的片段:

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]; 
    .... 
    .... 
    }); 
+0

非常好,非常感謝! – Fogmeister