Ответ 1
Попробуйте это
request.predicate = NSPredicate(format: "username = %@ AND password = %@", txtUserName.text!, txtPassword.text!)
Как вы комбинируете два условия в NSPredicate
? Я использую следующий оператор, и я хотел бы добавить другое условие, которое сравнивает пароль с содержимым текстового поля, используя И:
request.predicate = NSPredicate(format: "username = %@", txtUserName.text!)
Попробуйте это
request.predicate = NSPredicate(format: "username = %@ AND password = %@", txtUserName.text!, txtPassword.text!)
Как уже говорилось, вы можете использовать логические операторы типа "И", "ИЛИ", в предикатах. Подробности можно найти в Синтаксис строкового формата предиката в "Руководстве по программированию предикатов".
В качестве альтернативы используйте "составные предикаты":
let p1 = NSPredicate(format: "username = %@", "user")
let p2 = NSPredicate(format: "password = %@", "password")
let predicate = NSCompoundPredicate(andPredicateWithSubpredicates: [p1, p2])
Это полезно для более сложных выражений или если вы хотите создать предикат динамически во время выполнения.
AND
- это именно то, что вам нужно
request.predicate = NSPredicate(format: "username = %@ AND password = %@", txtUserName.text!, txtPassWord.text!)