结合NSPredicate中的两个条件

时间:2015-10-24 17:17:02

标签: swift nspredicate

如何在NSPredicate中合并两个条件?我使用以下语句,我想添加另一个条件,使用 AND 将密码与文本字段的内容进行比较:

request.predicate = NSPredicate(format: "username = %@", txtUserName.text!)

3 个答案:

答案 0 :(得分:37)

如前所述,您可以使用逻辑运算符,例如“AND”,“OR” 在谓词中。细节可以在 “谓词编程指南”中的Predicate Format String Syntax

作为替代方案,请使用“复合谓词”:

let p1 = NSPredicate(format: "username = %@", "user")
let p2 = NSPredicate(format: "password = %@", "password")
let predicate = NSCompoundPredicate(andPredicateWithSubpredicates: [p1, p2])

这对于更复杂的表达式很有用,或者如果你想构建它 在运行时动态生成谓词。

答案 1 :(得分:24)

试试这个

request.predicate = NSPredicate(format: "username = %@ AND password = %@", txtUserName.text!, txtPassword.text!)

答案 2 :(得分:0)

AND正是您所需要的

request.predicate = NSPredicate(format: "username = %@ AND password = %@", txtUserName.text!, txtPassWord.text!)