Ios 基于数组的NSPredicate核心数据对象过滤
假设我有一些基于以下对象的核心数据:Ios 基于数组的NSPredicate核心数据对象过滤,ios,swift,core-data,nspredicate,Ios,Swift,Core Data,Nspredicate,假设我有一些基于以下对象的核心数据: class TestObject { var name: String var type: String } 类型可以有以下名称之一:“红色”、“绿色”、“蓝色”、“黑色” 现在我想过滤数据,不是基于一种类型,而是基于一个类型数组,如下所示: public static func typePredicate(types: [String]) -> NSPredicate { return NSPredicate(format:
class TestObject {
var name: String
var type: String
}
类型
可以有以下名称之一:“红色”、“绿色”、“蓝色”、“黑色”
现在我想过滤数据,不是基于一种类型,而是基于一个类型数组,如下所示:
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 predicateWithFormat:@"ANY %K IN %@",object.field,types]
编辑:
迅速地
您正在查找IN关键字。例如(“输入%@”,类型);如果你想进一步阅读,这里有一个参考:谢谢。成功了。
var types = ["Red","Blue","Green"]
var predicate : NSPredicate = NSPredicate(format: "ANY %K IN %@",
argumentArray: [object.field, types])