0

私はコアデータプログラミングに非常に慣れていません。エンティティがテーブルであることを理解しています。次のことを行いたいと思います。

1 つのテーブル「レコード」には、別のテーブル (「イベント」) に属性「recordID」があります。このレコードに関連付けられた一連のイベントがあり、それらすべてにも属性「recordID」があります。「レコード」テーブルには、これらのテーブル間の多くの「イベント」関係に対する 1 つのエントリがあり、「recordID」でリンクされています。

データ モデル エディタで GUI の [フェッチされたプロパティ] を使用して、レコードの現在のレコード ID の「イベント」の配列を取得する方法を知りたいです。

述語プログラミングガイドを確認したところ、次のようなことができると記載されています。

 [NSPredicate predicateWithFormat:@"anAttribute == %@", [NSNumber numberWithBool:aBool]];

だからGUIで、私は使用することを考えていました

recordID == recordID

異なるテーブルを区別するにはどうすればよいですか? self.recordID = recordID か何か?

編集:関係の目的を完全に誤解していない限り。リレーションシップはテーブルを自動的にリンクしますか?

4

1 に答える 1

2

まず、Core Data はデータベースではありません。Core Data は、sqlite ファイルに保持できるオブジェクト グラフです。

次に、Core Data が関係を処理します。2 つのエンティティ間の関係を作成し、Recordインスタンスを「親」としてインスタンスに設定するだけEventで、関係が作成されます。

外部キーを自分で作成する必要はありません。Core Data がそれらを管理し、参照整合性を維持します。

于 2011-10-19T22:07:31.910 に答える