web-dev-qa-db-ja.com

配列要素からのNSPredicateINクエリ

風変わりなタイトルをお詫びします。 Intの配列があり、配列に含まれる値と等しいconnectionTypeを持つアイテムをフィルターで除外するNSPredicateを定義したいと思います。

つまり、基本的に次のようなものです。

fetchRequest.predicate = NSPredicate(format: "connectionType IN { all items in array }

私はこれを扱っていると思うObjectiveCの例をいくつか見つけましたが、iOS開発を始めたばかりで、Swiftでしか作業していないので、ここでいくつかの助けをいただければ幸いです:)

私はこれをやってみました:

 fetchRequest.predicate = NSPredicate(format: "connectionType IN \(myIntArray)"

ただし、これはNSInvalidArgumentExceptionを返します。でも私は近くにいるように感じます。

NSInvalidArgumentException', reason: 'Unable to parse the format string "connectionType IN [28, 28]" 

私が次のことをした場合:

fetchRequest.predicate = NSPredicate(format: "connectionType IN %@", myArray)

代わりにこのエラーが発生します:

NSInvalidArgumentException', reason: 'unimplemented SQL generation for predicate : (connectionType IN {28, 28})'
14
ardevd

次のような述語を作成します。

NSPredicate(format:"connectionType IN %@", yourIntArray)

これがお役に立てば幸いです。

27
Anatoli P