我有一个整数数组:
▿ 2 elements
- [0] : 123459
- [1] : 1031020
并希望根据数组过滤我的对象。
.filter("code IN \(myCodeArray)")
但这会导致崩溃。如何正确使用IN运算符?
答案 0 :(得分:12)
不应使用Swift的字符串插值,而应通过NSPredicate
使用%@
的参数替换支持:
.filter("code IN %@", myCodeArray)
Swift的字符串插值语法("\(someVariable)"
)将变量的字符串表示形式插入到字符串中。整数数组的字符串表示形式为[123459, 1031020]
,即not valid in an NSPredicate
format string。使用%@
将对象替换为谓词,而无需担心对象的Swift字符串表示是否与NSPredicate
期望的匹配。