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