0

データ モデルの新しいバージョンを追加し、1 つの属性を double から float に変更しました。本当に移行マッピングを作成する必要がありますか?

だから今私は立ち往生しています。

NSMappingModels (および XCode 3) を使用した新しいデータ モデルへの移行に関する Apple ドキュメントを見つけましたが、属性の型だけが変更された場合に本当に必要かどうかはわかりません。

アプリを更新した後、persistentStoreCoordinator から次のエラー メッセージが表示されました。

永続ストアを開くことができませんでした: エラー Domain=NSCocoaErrorDomain Code=134130 "操作を完了できませんでした。

属性タイプのみが変更された場合、移行する簡単な方法 (ハウツー/チュートリアル) はありますか? アプリを削除することは解決策ではありません。最初のバージョンは既にデプロイされています。

ありがとう、クリス

4

2 に答える 2

1

軽量の移行ルールによると、これを自動的に行うことはできないと思います。作成中に古いバージョンと新しいバージョンの両方を選択して、NSMappingModel を作成する必要があります。変更した属性を除いて、すべての属性と関係の移行が自動的に作成されます。

属性を含むモデルの場合、NSEntityMigrationPolicy のサブクラスを作成し、NSMappingModel にそれを使用するように指示する必要があります (NSMappingModel のエンティティをクリックし、画面の右側にあるインスペクターで [カスタム ポリシー] フィールドに設定します。その特定の属性について、NSEntityMigrationPolicy のサブクラスでメソッドを作成し、そこでキャストを実行します。

于 2012-11-29T15:47:15.117 に答える
-1

こちらで説明されている軽量移行の手順に従う必要があります。(移行ガイドへのリンクもあります。)

それは本当に簡単です!手短に:

  • データモデルの新しいバージョンを作成し、
  • それをアクティブなものとして選択し、
  • 属性を変更し、
  • 走る。
于 2012-11-28T14:44:55.590 に答える