1

以前、ElementListViewControllerで画面をマージする問題について質問し、問題の解決策を見つけましたが、新しいものがあります。

Elementの子エンティティであるプロモーションとバウチャーを持っています。

Elementの子エンティティであるが、PromotionandVoucherの親であるDealが必要です。

そのため、CoreDataモデルが変更され、新しいバージョンが作成されました。しかし、これが原因でこれがクラッシュすると確信しています(Apple Docから):

ただし、エンティティ階層をマージすることはできません。2つの既存のエンティティがソースで共通の親を共有していない場合、宛先で共通の親を共有することはできません。

では、クラッシュせずに新しいアプリを作成するにはどうすればよいですか?マッピングモデルを実行する必要がありますか?それだけですか?または、移行を行う必要がありますか?このAppleDocは完全ですが、本当に理解できるかどうかはわかりません。

ありがとうございました !

4

1 に答える 1

0

手動で移行する必要があります。それを行う正しい方法はわかりませんが、この方法で同様のことを行いました。新しいエンティティを作成し、自動移行後に、古いエンティティから新しいエンティティにレコードを移動する独自のデータベース更新を行います。残念ながら、データモデルにはまだ使用されていない古いエンティティがあり、それは悪いことです。

于 2012-05-16T11:58:07.363 に答える