swift NSPredicate逻辑OR

时间:2014-10-21 06:31:46

标签: ios swift nspredicate

我使用NSPredicate进行单个字符串替换,但返回包含StringA或StringB的核心数据记录似乎并不是我能想到的。我想要这样的东西:

let filter = NSPredicate(format: ("%K = %@", "type", "StringA") OR ("%K = %@", "type", "StringB"))

但当然这不起作用。救命?

1 个答案:

答案 0 :(得分:2)

您必须指定格式字符串, 然后是逗号分隔的参数列表,以替换为以下格式:

let filter = NSPredicate(format:"%K = %@ OR %K = %@", "type", "StringA", "type", "StringB")

如果这些键不是保留字而且不包含特殊字符那么你 可以直接以格式字符串:

指定它们
let filter = NSPredicate(format:"type = %@ OR type = %@", "StringA", "StringB")