在 NSPredicate 中结合两个条件

Combining Two Conditions in NSPredicate

如何在NSPredicate中结合两个条件?我正在使用以下语句,我想添加另一个条件,使用 AND:

将密码与文本字段的内容进行比较
request.predicate = NSPredicate(format: "username = %@", txtUserName.text!)

试试这个

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

AND正是您所需要的

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

如前所述,您可以使用 "AND"、"OR" 等逻辑运算符 在谓词中。详情可见 Predicate Format String Syntax 在 "Predicate Programming Guide".

作为替代方案,使用 "compound predicates":

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

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