私は iOS プログラミングと Core Data に比較的慣れていないので、これがばかげた質問である場合はご容赦ください。私のプロジェクトには 2 つのエンティティがあります。エンティティ (1) は「医師」、エンティティ (2) は「患者」という名前です。医者と患者の関係は「患者」と呼ばれます。逆は「医者」と名付けられました。私は医師と患者の間に一対多の関係を築いています。エンティティはサブクラス化されています。医師の名前を表示するルート ビュー コントローラーがあります。医師のセルを選択して、患者をセグエ ビュー コントローラーに表示できるようにしたいと考えています。彼の患者は NSSet に含まれています。私はここで困惑しています。その NSSet をセグエ コードで渡すか、フェッチ リクエストで述語を使用して該当する患者名のみをフェッチするか。あなたが提供できるコード例は大歓迎です。
質問する
231 次
1 に答える
1
Doctor
ユーザーがセルをタップしたときに取得したオブジェクトを詳細コントローラーに渡すだけです。次に、詳細コントローラーでdoctor.patients
(NSSet) を使用します。これは最も単純なオプションであり、データに変更を加えていない場合にうまく機能します。おそらくテーブルビューで患者を表示しているので、 を使用NSSortDescriptor
して患者を表示する前に整理する必要があります (その後、患者は配列になり、 を使用しますobjectAtIndex:
)。
データを変更する場合でも機能しますが、UI を更新できるように何らかの方法で変更について知る必要があります。
フェッチされた結果コントローラーが既にある場合は、それで問題なく、変更が監視されます。その場合doctor
、述語形式で を使用します。
[NSPredicate predicateWithFormat:@"doctor = %@", self.doctor];
いずれにせよ、ドクター オブジェクトを新しいビュー コントローラーに渡します。
于 2013-05-01T06:51:20.990 に答える