0

これらの値を保存する必要があります。

x 値 = 時間

y 値 1、y 値 2、y 値 3、...、y 値 10

したがって、毎回、これらの異なる yValue スライスがあります。それが両者の関係です。

私は Core-Data 方法論にかなり慣れていないので、それらを配列に格納することはできないと聞いたことがあります。それらをクエリする必要はありませんが、特定のセッションの後にデータベースに保存する必要があります (1000 以上の全体を想定します。これが、最初にそれらすべてを NSMutableArray に入れたくない理由です)。

Core-Data は、この問題に対処するための最も実用的な方法ですか、それとも、そのような量のデータを処理するためのより良いソリューションはありますか?

編集:これまでのところ、私のモデルは次のようになります。


エンティティ 1: タイムスライス

属性: 時間 - フロート

関係: 値


エンティティ 2: 値

属性: yValue1、yValue2、yValue3、...、yValue10 - float

4

2 に答える 2

1

各 yValue が表す変数の型によって異なりますが、おそらく必要以上に厄介な方法でそれを行っているようです。それらを配列に入れてから、その配列を Core Data 永続ストアの NSData 属性に格納できます。それらを照会する必要が本当にない場合は、この質問で詳しく説明されているように、yValue クラスが encodeWithCoder: メソッドを実装していることを確認します: Converting a NSObject into NSData

次に、これらのオブジェクトの配列を作成し、配列全体を NSData オブジェクトにアーカイブして、それをエンティティの 1 つの属性に格納できます。これはおそらく最も効率的な保存方法です。コア データ モデルは次のようになります。

エンティティ - タイム エントリ

属性: 時間 - NSNumber

属性: yValues - NSData

このコア データ モデルを使用すると、特定の時間 (または一連の時間) についてクエリを実行し、必要に応じて NSData オブジェクトを展開できます。

オブジェクトの「タイプ」を作成する場合は、関係が優れています。典型的な例の 1 つは、会社 -> マネージャー -> 従業員というパラダイムです。各会社、マネージャー、および従業員はエンティティになります。会社から多数のマネージャへ、および各マネージャから多数の従業員への対多関係が存在します。また、各従業員を複数のマネージャーなどに割り当てることもできます。

于 2013-02-14T00:55:42.673 に答える
0

Core Data は順序付けられた関係をサポートしています。iOS5 以降だと思います。対多関係を編集するときは、チェックボックスで「順序付き」を選択するだけです。

于 2013-02-14T01:03:20.820 に答える