0

Core Data を利用するアプリがあります。Core Data エンティティの 1 つは、列挙を表す NSInteger です。次の改訂では、列挙値が変更されたため、古い列挙型を新しい列挙型に再マップする必要があります。

この場合、コア データの移行は適切なアプローチですか。モデルは変更されておらず、データの私の解釈にすぎません。移行ポリシーを実装しようとしましたが、機能しません (移行ポリシーが実行されません)。

ありがとう!

--ジョン

4

1 に答える 1

0

列挙型の末尾にいくつかの新しい値を追加した場合は、何も移行しません。古い数値が古い値と同じであることを確認してください。

各列挙型が表す値を変更した場合、列挙型は決して変更されるべきではないため、そもそも列挙型を使用すべきではありません。この場合、新しい列または関係を追加しますが、今回は列挙型を使用しない方がよいでしょう。

データベース構造に古い列挙型を残しますが、NSManagedObject のサブクラスで、どちらかが変更されるたびに両方の値を更新する処理を行います (またはそのようなもの)。

于 2013-05-12T04:03:13.827 に答える