我試着保存數據並與CoreData和多線程合併爲iPhone應用程序。 但我無法在合併後在主線程中獲取託管對象。如何在CoreData上下文合併後獲取對象
我寫代碼就像這樣:
[managedObjectContext performSelectorOnMainThread:@selector(mergeChangesFromContextDidSaveNotification:)
withObject:notification
waitUntilDone:YES];
[self performSelectorOnMainThread:@selector(didMerged:) withObject:objectIds waitUntilDone:YES];
所以我試圖通過的ObjectID得到NSManagedObject實例中是在另一個線程產生的主線程。起初我嘗試了「objectWithId」方法,但它產生了錯誤對象。然後我嘗試了「existingObjectWithID」方法,但它生成的對象部分和其他人零以下錯誤:
[Error] Error Domain=NSCocoaErrorDomain Code=133000 "Operation could not be completed. (Cocoa error 133000.)"
什麼是錯?有什麼辦法如何在合併到另一個線程後通過objectIds檢索所有對象?
謝謝。
謝謝您的回覆快。 嗯...在另一個線程中,我可以保存數據沒有任何錯誤。如何在不存在#133000錯誤的情況下將它們合併到主線程中的上下文中? – Emmettoc 2010-06-05 16:50:20