【发布时间】:2016-04-15 00:30:26
【问题描述】:
我需要从 cloudkit 中提取匹配字符串的记录。
我有一个用户记录类型,带有一个电子邮件字段。我有多个记录在同一个电子邮件中,但我无法获取谓词来获取记录。
我已经尝试了所有这些:
let predicate = NSPredicate(format: "email = 'julio_ukohgsp_chevez@tfbnw.net'")
NSPredicate(format: "email == %@", argumentArray: [email])
NSPredicate(format: "email IN %@", [email])
NSPredicate(format: "email contains %@", email)
NSPredicate(format: "email = %@", email)
NSPredicate(format: "email == %@", email)
我的查询指定了记录类型:
let query = CKQuery(recordType: "User", predicate: NSPredicate(format: "email == %@", email))
当我使用 value: true 进行谓词时,我会得到所有记录,包括我想要的记录。我确定我有一个用户使用该电子邮件,实际上是多个记录。
我错过了什么?
编辑..
let query = CKQuery(recordType: "User", predicate: NSPredicate(format: "email BEGINSWITH %@", email))
确实有效并带回了记录,但我想要一个完全匹配的!
【问题讨论】:
-
LIKE代替==有效吗?