私は単一の永続ストアを持つ既存のデータモデルを持っていましたが、すべてが良好です。
さて、WWDC 2012のビデオ「コアデータでのiCloudの使用」(#227)に続いて、元の「デフォルト」を維持したまま、モデルに「クラウド」と「ローカル」の2つの構成を定義しました。エンティティを「クラウド」と「ローカル」に分割しました。私のコードでは、対応する2つの永続ストアのみを追加します。
NSDictionary *options = @{NSMigratePersistentStoresAutomaticallyOption: @YES,
NSInferMappingModelAutomaticallyOption: @YES};
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:@"Cloud"
URL:[self cloudPersistentStoreURL]
options:options
error:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:@"Local"
URL:[self localPersistentStoreURL]
options:options
error:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
これらは問題なく追加されます。後でアプリを実行して、初期の試用データを通常どおりに保存しようとすると、次の例外がスローされます。
NSUnderlyingException=オブジェクトをストアに割り当てる方法を解決できません。一部のオブジェクトがストアに割り当てられている可能性があります。[[managedObject objectID] persistStore]を使用して、現在何が起こっているかを調べます。[managedObjectContextassignObject:toStore:]を使用して問題を解決します
私はこれの一部をヒットなしでグーグルで検索しましたが、Appleのトラブルシューティングコアデータドキュメントはこれについて説明していないようです。何が原因なのか、どこを見ればいいのかわかりません。何かご意見は?