風変わりなタイトルをお詫びします。 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})'
次のような述語を作成します。
NSPredicate(format:"connectionType IN %@", yourIntArray)
これがお役に立てば幸いです。