sqlite dbで電話番号の検索を行います。電話テーブルには、文字列値を保持する数字フィールドがあります(例:+1(2-34)56-78)。NSPredicateを使用したCoredataフェッチ要求
ユーザが検索テキストを「234」と入力した場合、NSPredicateを使用して桁数のみの電話番号を取得する必要があります(他のすべてのアルファベットや特殊文字は保存されません)。 フェッチ要求の述語を使用してこれを行うか?
私は、次の述語をしようと、それは私に期待した結果を返すdoesntの:[NSPredicate predicateWithFormat =
NSPredicate *述語を:! "CONTACTNAME = nullのサブクエリ(PhoneListとして、$電話@、ANYの$ phone.numberはCONTAINS [c]%@)。@ count> 0 "、searchText];
これを行う方法はありますか?これに対してnspredicateで正規表現を使用できますか?
電話機には番号が1つありますか、または番号と多対多の関係はありますか? – Willeke
電話テーブルには、番号とラベルの2つのフィールドがあります。連絡先には電話番号がたくさんある場合があります。だからここで 'phoneList'は電話テーブルへの連絡先の多くの関係です。私は電話番号として検索文字列を持つ連絡先を取得しようとしています。 – JamesDon
SUBQUERYとANYはどちらも多対多の関係を処理しています。 '' contactName!= nullの形式を試してみてください。また、phoneList.numberにはCONTAINS [c]%@ "、searchText'が含まれています。 – Willeke