2015-10-24 30 views

cevap

11

bu

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

AND deneyin tam olarak ne olduğunu: Aşağıdaki ifadeyi kullanıyorum ve VE kullanarak bir textfield içeriğiyle şifresini karşılaştırır başka bir koşul eklemek istiyorum Eğer, şöyle mantıksal operatörler kullanmak "AND" olabilir,

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

Daha önce bahsedilen ihtiyaç "VEYA" Yüklemlerde. Ayrıntılar "Predicate Programlama Kılavuzu" nda Predicate Format String Syntax'da bulunabilir. Bir alternatif olarak

kullanın "bileşik yüklemler":

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

çalışma zamanında dinamik olarak bir yüklemi kurmak istiyorsanız bu daha karmaşık ifadeler için yararlıdır, ya.

+0

OR şartlarına ihtiyacım olursa ne olur? – Jan

+1

@Jan: 'veyaPredicateWithSubpredicates'? –

+0

Her ikisi de NSPredicate (biçim: "(kullanıcı adı =% @ AND password =% @)) gibi bir şeye ihtiyaç duyarsa VEYA (e-posta =% @ AND password =% @)", usernameAndEmail, txtPassword.text!, UsernameAndEmail, txtPassword.text !) – John