如何设置 NSPredicate 以查找不同于 nil 的字段?

How to set NSPredicate to look for fields different than nil?

我正在尝试获取 CloudKit 中不同于 nil 的字段,并且还具有特定的 phone 编号(显然同时)。但是我很难尝试这样做......这是我的代码:

let predicate = Predicate(format: "phone == %@ && careTakerId != %@", tel, "")

如果存在,它会打印一个 "User exists",而且它每次都在打印!谁能告诉我 predicate 是否正确?谢谢

也许你应该试试这个:

let predicate = Predicate(format: "phone == %@ && careTakerId != nil", tel)

这可能对您有用:

let predicate = Predicate(format: "phone == %@ && careTakerId.length > 0", tel)

(当careTakerId""nil时后者变为假。)

通过执行以下操作获得它:

let predicate = Predicate(format: "phone == %@ && careTakerId != ''", tel)

如果你尝试 != nil Xcode 会崩溃并说它不是一个有效的谓词!