最近、Core Data モデルに新しいエンティティを追加したので、モデルの新しいバージョンとそのマッピング モデルを作成しました。しかし、私の NSPersistentDocument は明確な理由もなくクラッシュします:
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
BOOL success = [self configurePersistentStoreCoordinatorForURL:storeURL ofType:typeName modelConfiguration:nil storeOptions:options error:error]; // Line that crashes
コンソール ログ:
*** -[NSCFArray insertObject:atIndex:]: nil を挿入しようとしています
これが役立つ場合のスタックトレースは次のとおりです。
マッピング モデルを削除しても解決しないので、ドキュメントが間違ったデータ モデルを読み込もうとしたためだと思いますが、特定のデータ モデルを使用する必要があると言う方法が見つかりませんでした。
編集: iOS 用に独自の Core Data 抽象化クラスを使用すると、すべて問題ありません。だから諸悪の根源はNSPersistentDocument
. 実際、私は NSDocument に戻りたくないし、Core Data 処理を自分で再度実装する必要はありません。