CoreData存在問題,我不知道任何進一步的信息。我將它與ICloud一起使用並在兩款iPhone上進行測試。mergeChangesFromContextDidSaveNotification中的核心數據崩潰 - >調用循環
現在我在兩個手機上開始我的應用程序。我在一部手機上添加了一條記錄。只要兩部手機切換到「使用本地存儲:0」,我就可以在一部手機(接收更改通知的手機)上看到內存。
它發生在調用[self.howRUDocument.managedObjectContext mergeChangesFromContextDidSaveNotification:notification];方法。當我調試時,mergeChangesFromContextDidSaveNotification這個移動器永遠不會到達下一行。
- (id)initWithDocumentName:(NSString *)documentName {
self = [super init];
if (self) {
self.documentName = documentName;
iCloudCommunicator = [ICloudCommunicator sharedInstance];
[iCloudCommunicator registerForICloudAccountChange:self];
if ([iCloudCommunicator useICloud]) {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(documentChanged:)
name:NSPersistentStoreDidImportUbiquitousContentChangesNotification
object:self.howRUDocument.managedObjectContext.persistentStoreCoordinator];
}
}
return self;
}
-(void) documentChanged:(NSNotification *)notification {
[self.howRUDocument.managedObjectContext mergeChangesFromContextDidSaveNotification:notification];
}
這是我在profiler中看到:
因此,它是一個無限循環(這不就是蘋果地址:-D)。有沒有人知道爲什麼?
另一個奇怪的是,這個方法是在一個類Model中。我有兩個模型從這個類擴展。對於一個合併按預期工作,另一個我得到上述例外。
非常感謝!