0
我正在尝试为核心数据做一些多线程同步。但在情况下,当我必须做保存主线程:核心数据 - 是否有可能避免在主线程中保存managedObjectContext?
- (void)importerDidSave:(NSNotification *)saveNotification {
NSLog(@"MERGE in destination controller");
if ([NSThread isMainThread]) {
AppDelegate *delegate = (AppDelegate *)[[NSApplication sharedApplication] delegate];
[[delegate managedObjectContext] mergeChangesFromContextDidSaveNotification:saveNotification];
} else {
[self performSelectorOnMainThread:@selector(importerDidSave:) withObject:saveNotification waitUntilDone:NO];
}
}
我有一段时间冻结主线程(在这种情况下,我有旋)。所有接口视图都连接到连接到AppDelegate moc的阵列控制器。 因此,关于设计的一些问题:
- 我可以避开主界面上的冻结和合并主线程之外管理对象上下文?
- 是否可以避免,如果我将所有数组连接到另一个managedobjectcontext?我如何避免问题,当创建的上下文没有内部变化时,它会在创建此对象后合并?
任何帮助将不胜感激...
它是一个相同的代码;) – user170317 2011-12-16 21:24:11