2011-10-21 13 views
0

CoreDataこれまでのところCoreDataは本当に素晴らしいです:-)私は本当にそれに入る。 私は多対多の関係を持っており、それをフィルタリングしたいと考えています。私はここで立ち往生した。私は複数の郵便番号を持っています(44512,12445、...) 445を検索してcontains = %@を使用すると、2つの結果(12345,12445)が返されます。CoreData BEGINSWITH対多関係

私はちょうど1つの結果を得たい、結果は私のsearchstringで始まる必要があります。だから通常はBEGINSWITH = %@を使用します。多対多関係では私はそれを使うことができません。回避策はありますか? :-)

ありがとうございました。本当にありがとうございます。

+0

郵便番号の保存方法を教えてください。 keypathは機能しませんか? – klefevre

+0

あなたの答えをありがとう。ここでは、db-modelingのスクリーンショットを見つけることができます:http://stackoverflow.com/questions/7846623/coredata-basics-to-many-relationship-array-data私がCoreDataを初めて使ったとき、私はキーパスを使用したことはありませんここに... – rdesign

答えて

2

あなたのコードを見ることなく、私は完全に答えを与えることはできません。他のSOの質問があれば、あなたのZipがNSStringsとして保存されているように見えます。
したがって、NSPredicateを作成してのようにbeginswithを使用することができます。 beginswithの例は配列セクションにありますが、簡単に述語を変更してNSFetchRequestに適用することができます。以前に述語を実行したことがない場合、NSFetchRequestはpredicateプロパティを持ちます。 predateを作成し、それをNSFetchRequestの述語プロパティに割り当ててから、フェッチ要求を実行します。

私が最初に言ったように、コードスニペットを表示すると、われわれの回答に役立ちます。