当我在 iCloud 中创建一个 sqlite 核心数据存储并在一台设备上播种时,它运行良好并且有大约 6,000 条记录。当我在第二台设备上创建存储时,它会同步,但最终只有大约 4,000 条记录(可能来自事务日志)。我响应 NSPersistentStoreDidImportUbiquitousContentChangesNotification 的同步代码读取...
NSUndoManager * undoManager = [context undoManager];
[undoManager disableUndoRegistration];
[context mergeChangesFromContextDidSaveNotification:info];
[context processPendingChanges];
[undoManager enableUndoRegistration];
但是,当我插入调试语句时......
NSSet *updatedObjects = [[info userInfo] objectForKey:NSUpdatedObjectsKey];
NSSet *deletedObjects = [[info userInfo] objectForKey:NSDeletedObjectsKey];
NSSet *insertedObjects = [[info userInfo] objectForKey:NSInsertedObjectsKey];
NSLog(@"found transaction log. updated %d, deleted %d, inserted %d", updatedObjects.count, deletedObjects.count, insertedObjects.count);
我得到了一个意想不到的“0”,但我知道它正在同步一些东西,因为数据库中有大约 4,000 条记录。
有人对这里可能发生的事情有任何建议吗?
谢谢雷