У меня проблема с использованием синхронизации CoreData + iCloud.NSPersistentStoreDidImportUbiquitousContentChangesNotification возвращает пусто
Иногда уведомление, NSPersistentStoreDidImportUbiquitousContentChangesNotification, возвращает пустой массив в Inserted, Updated и Deleted.
Если это уведомление вызывается при изменении, зачем возвращать пустое уведомление?
Спасибо !!!
код, который вызывает уведомление:
- (void)persistentStoreDidChange:(NSNotification*)notification
{
DLog(@"Change Detected! Notification: %@", notification.description)
[__managedObjectContext performBlockAndWait:^(void)
{
[__managedObjectContext mergeChangesFromContextDidSaveNotification:notification];
for(id<CoreDataDelegate>delegate in _delegates)
{
if([delegate respondsToSelector:@selector(persistentStoreDidChange)])
[delegate persistentStoreDidChange];
}
}];
}
Спасибо! Но почему иногда данные повреждаются? Я заметил, что когда приложение сохраняет больше времени (MOC save) и те же объекты на многих устройствах одновременно, данные будут повреждены ... Если приложение ограничивает количество MOC-файлов, вы считаете, что синхронизация выполняется штраф? –
Трудно сказать, не более подробно. Если вы одновременно сохраняете одни и те же объекты на нескольких устройствах, возникает конфликт. Этот конфликт не может быть разрешен так, как вы ожидаете, что он будет разрешен. Если это вид коррупции, который вы видите, это именно то, как это работает. Если нет, задайте новый вопрос с более подробной информацией о том, что вы видите. –