假设我在Core Data中有一些数据基于以下对象:
class TestObject {
var name: String
var type: String
}
type
可以使用以下名称之一:"红色","绿色","蓝色","黑色&#34 ;
现在我想过滤我的数据不是基于一种类型,而是基于类型的数组,如下所示:
public static func typePredicate(types: [String]) -> NSPredicate {
return NSPredicate(format: "type == %@", types) // this line should test for an array of types, not one type
}
是否可以使用NSPredicate
?
答案 0 :(得分:2)
您可以尝试下面的内容
[NSPredicate predicateWithFormat:@"ANY %K IN %@",object.field,types]
编辑: 在Swift中
var types = ["Red","Blue","Green"]
var predicate : NSPredicate = NSPredicate(format: "ANY %K IN %@",
argumentArray: [object.field, types])