3

センサー (例: 温度 °C、圧力 kPa) からの測定値をサンプリングする展開済みのアプリがあります。ユーザーは実験を作成し、サンプルを収集できます。各サンプルは Run として保存され、Experiment から Run への 1 対多の関係があります。パフォーマンスのために、Run はデータ エンティティ (実際の生データが格納される場所) と対 1 の関係にあります。これにより、必ずしも大量のデータをロードすることなく、一部の実行属​​性をロードできます。

ほとんどのセンサーには複数の測​​定値があるため、実際にサンプリングされているすべてのデータを保存すると便利です。ただし、これは、Run <---> Data 関係が Run <-->> Data になる必要があることを意味します (Xcode の規則を使用するため)。

古い実行対 1 データ モデルから新しい実行対多データ モデルにデータを移行しようとしています。これは、マッピング モデルを使用して実行できますか? もしそうなら、誰かが例へのポインタを持っていますか? そうでない場合、それを行う方法の例へのポインタはありますか?

ポインタやアドバイスをありがとう。

4

2 に答える 2

3

その移行は、自動移行が機能するほど簡単である必要があります。最悪の場合、マッピングモデルが必要になりますが、自動移行をオンにすることで「正常に機能する」と思います。

于 2010-05-05T21:58:30.437 に答える
1

NSEntityMigrationPolicy を数回サブクラス化する必要がありました。これが必要だったのは、かなり一般的なモデルをサポートするためにいくつかのレベルの抽象化が追加され、プロパティがさまざまなエンティティとの間で移動していたためです。また、マッピング モデル内のエンティティ マッピングの順序も重要でした。

最終的に、 -addPersistentStoreType:configuration:URL:options:error: のオプションを次のように設定する必要がありました。

    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                         [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, nil];

したがって、NSInferMappingModelAutomaticallyOption を省略します。

于 2010-10-15T17:14:41.937 に答える