これはよく議論されていますが、私が見つけたものは何も役に立ちませんでした...単一のエンティティに単一の属性を追加したいだけです。当然のことながら、データを失うことはありません。
しかし、私はそれがまったく機能しなかったと思います。新しい属性を使用しようとしない限り、エラーは発生しません。しかし、コア データ モデル (XCode で .xcdatamodel を開くと) にはそこにあり、エンティティの NSManagedObject サブクラスにも、新しい属性がプロパティとして存在します。しかし、私がそれを使用しようとすると、これが起こります:
unrecognized selector sent to instance 0x74f8520
また
the entity Name is not key value coding-compliant for the key "isFavoriteName".'
キー「isFavoriteName」は、先ほど追加したものです。先ほど言ったように、すべての手順を実行しました。私は何かが恋しいですか?モデルのいくつかの属性を削除しても、アプリは引き続き機能し、削除された情報は引き続き表示されるため、新しいモデル バージョンは使用されていないと思います...現在のコア データ モデル バージョンを新しいバージョンに設定しました(ステップ 6)。
あなたが私を助けてくれることを願っています!
ニック
編集:コードでも何かを変更する必要がありますか? persistStoreCoordinator を作成するときのオプションの設定とは別に...たとえば、myApp.xdatamodel があり、その中に myApp.xdatamodel と myApp 2,xdatamodel があることを知っているので、私は自分のコードを実行します:
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"myApp" withExtension:@"mom"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];