0

同じフェッチリクエストを使用して、データモデルで2種類の検索を実行できるかどうかを調べようとしていますが、検索入力が文字か数字かによって述語が異なります。

つまり、ContactエンティティとPhoneエンティティがあります。連絡先には、電話番号(勤務先、携帯電話など)のリストがあります。だから私がしたいのは、連絡先とそのphoneNumbersのリストを返すと思うサブエンティティを含むフェッチリクエストを持っていることですか?次に、ユーザーが文字と数字のどちらを入力したかに応じて、連絡先の名前または電話番号のいずれかを検索します。ただし、述語で後半の部分を実行する方法はわかりません。または、可能であれば、1つだけではなく番号のリストであるため(そうでない場合は、「contact.number」を実行できると思います)。

それが不可能な場合は、他に何を試すべきかわかりません。連絡先の名前を使用して結果を表示します。したがって、電話のシナリオでまったく異なるフェッチリクエストがある場合は、すべての電話番号を戻すことができますが、表示できるようにするには、2回目のフェッチを実行して、それらの電話番号に関連付けられているすべての連絡先を取得する必要があります。結果の名前?それは本当に遅いようです。私は40kの連絡先を持っています......。

4

1 に答える 1

1

「Contact」に関する次の述語を使用して、指定されたプレフィックスで始まる電話番号を持つすべての連絡先を取得できます。

[NSPredicate predicateWithFormat:@"ANY phoneNumbers.number BEGINSWITH %@", numberPrefix];
于 2012-08-26T20:18:38.300 に答える