核心数据和iCloud。同步问题。(MacOS vs iOS - 冲突)

5
我在使用CoreData和iCloud时遇到了一些问题。我使用了来自苹果开发者论坛(iCloud)的示例 - IPhoneCoreDataRecipes项目,该项目通过iCloud处理CoreData。它工作得很好,但出现了一些冲突,并且并不是所有实体都在同步。
我可以在日志中看到以下警告:
Warning>: +[PFUbiquityRecordImportConflict createTransactionLogForTransactionEntry:withError:](607): CoreData: Ubiquity:  Unable to find transaction log for entry: <PFUbiquityTransactionEntry: 0x68b9a60> (entity: PFUbiquityTransactionEntry; id: 0x68c5d50 <x-coredata://697F667C-7541-43E7-B21B-5362D165537B/PFUbiquityTransactionEntry/p2> ; data: {
    actingPeer = "0x1526e0 <x-coredata://697F667C-7541-43E7-B21B-5362D165537B/PFUbiquityPeer/p1>";
    globalIDStr = "com.appmania.dreambookdata.coredata:DreamHistory:p1:mobile.99829CE6-D497-590F-B2F8-795CFFC84CCB";
    knowledgeVectorString = "mobile.99829CE6-D497-590F-B2F8-795CFFC84CCB:1";
    localIDStr = "x-coredata://D45E85ED-A2B7-48AC-96BF-6B2C64812656/DreamHistory/p1";
    storeMetadata = "0x12d4a0 <x-coredata://697F667C-7541-43E7-B21B-5362D165537B/PFUbiquityStoreMetadata/p1>";
    transactionDate = "2011-12-01 08:00:13 +0000";
    transactionLogFilename = "7C9AD5E3-457E-4E2B-8F1C-A7D8878E5BDB.1.cdt";
    transactionNumber = 1;
    transactionTypeNum = 0;
})

有人知道如何解决这样的冲突吗?谢谢。
1个回答

2

建议您在托管对象上下文中指定合并策略:

moc.mergePolicy = [[NSMergePolicy alloc] 
  initWithMergeType:NSMergeByPropertyObjectTrumpMergePolicyType];

此外还有其他合并策略,请选择适合您的应用程序的策略。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接