2012-02-18 14 views
0

初心者の質問総数...私は完全にノーディーな説明を検索しましたが、何も「ばか」を見つけられませんでした。問題は...コアデータにリレーショナルレコードを作成して取得する方法

私は、「クライアント」というエンティティと「車」というエンティティを持つコアデータスタックを作成しました。それは1対多の関係です。

これまでのところ、Appleのチュートリアルのコードを使用してクライアントリストを作成して取得しました。クライアントを選択すると、選択したクライアントのCarsをリストする新しいtableViewControllerをプッシュします。

私は、私は単にそれによって提供する「カー」レコードに「のClientID」タグを追加することになり、クライアントに車を追加したい場合は、SQLスタイルデータベースプログラミングに慣れ

最初の質問...特定のクライアントとの関係コアデータで同等の処理を行うにはどうすればよいですか?私の読んだところでは、他のエンティティを指す属性を追加する必要はありません。エンティティに追加の属性を必要とせずに、コアデータがこの関係を維持します。

2番目の質問...

として、私は「車のエンティティを作成し、成功した「クライアント」にそれをリンクされています。どのように私はちょうどそのクライアントの車を取得するフェッチを作成する。 Appleからコードを変更してすべての車を取得することはできますが、特定のクライアントに関連付けられた車を取得する方法はわかりません。私の読んだところでは、私は述語を使う必要があると思うが、リンゴはドキュメントの単なる述語であり、コアデータでそれを使う方法についての明確な指針を与えていない。

これはどういうわけかを知っているが、どこでも...

すべてのヘルプ/コードexmaplesが大変感謝しています。

答えて

1

私は自分の質問に答えました。私の質問を見つけて答えを知りたい方には、非常に簡単です...

まず、「車」を作成し、それを「クライアント」に関連付けます。普段と単純にコード行を追加しますと、まず「自動車」を作成...

newCar.client = client; 

これは、問題のクライアントへの「カー」レコードの「クライアント」の関係を設定します。

第2に、クライアントがいて、車を探す必要がある場合、新しいフェッチが必要だと私は考えていました。しかしそうではありません!単に最初の行は「client.carsは」○このクライアントがあり、NSSetでそれらを移入車を決定するためにオブジェクトグラフをたどる使用

NSSet *cars = client.cars; 
[self setCarsArray:[cars allObjects]]; 

...次のコード行を使用します。 2行目は、現在のviewcontrollerで宣言されているNSArrayを生成し、表示用に使用することができます。

ソート済み!

関連する問題