假设我在Core data中有一些基于以下对象的数据:
class TestObject {
var name: String
var type: String
}
type
可以有以下名称之一:"红色"、"绿色"、"蓝色"、"黑色"。
现在我想过滤我的数据,不是基于一种类型,而是基于一系列类型,比如这样:
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
有关吗?
您可以尝试下面的
[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])