我试图保存数据并与CoreData和多线程的iPhone应用程序合并.但合并后我无法在主线程中获取托管对象.
我编写的代码如下:
[managedObjectContext performSelectorOnMainThread:@selector(mergeChangesFromContextDidSaveNotification:)
withObject:notification
waitUntilDone:YES];
[self performSelectorOnMainThread:@selector(didMerged:) withObject:objectIds waitUntilDone:YES];
Run Code Online (Sandbox Code Playgroud)
所以我试图传递objectIds来获取主线程中的NSManagedObject实例,这些实例是在另一个线程中生成的.起初我尝试了"objectWithId"方法,但它生成了故障对象.然后我尝试了"existingObjectWithID"方法,但它部分生成了对象,其他的则是nil,后面跟着Error:
[Error] Error Domain=NSCocoaErrorDomain Code=133000 "Operation could not be completed. (Cocoa error 133000.)"
Run Code Online (Sandbox Code Playgroud)
怎么了?有没有办法在另一个线程中合并后如何通过objectIds检索所有对象?
谢谢.