2017-05-23 3 views
0

私はレルムが設定されているので、会社には場所のリストがあり、各場所には連絡先のリストがあります。ユーザーに郵便番号で検索させ、一致する連絡先を除外できるようにする必要があります。私がこれまで試したどのようなフィルタサブリスト

let companies = realm.objects(Companies.self).filter({$0.locations.filter("ANY contacts.zip = \(userZip)")}) 

ですが、それはfilterは、引数文字列を受け入れることができないことを私に伝えます。

すべてが完了したときに返すために必要なのは、特定の検索に一致する連絡先を持つ会社のリストです。私はそれをどうやってやっていくの?

答えて

0

コレクションプロトコルから継承したfilter()メソッドを呼び出すことを意図していました。レルムのfilter()メソッドを呼び出すには、次のように記述する必要があります。

realm.objects(Companies.self).filter("ANY locations.contacts.zip = %@", userZip) 

はFYI:クエリを構築するために、文字列の補間を使用しないでください。文字列補間は、文字列がオプションの場合に予期しない動作を引き起こします。代わりにNSPredicateの置換構文を使用してください。