微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 使用CloudKit进行NSPredicate不区分大小写的字符串搜索

我正在尝试搜索CloudKit对象的String字段.以下行成功编译并运行,没有错误.

nspredicate(format: "Title BEGINSWITH %@","Apple")

然而,当我尝试添加不区分大小写的搜索时,应用程序崩溃了.

nspredicate(format: "Title BEGINSWITH[cdl] %@","Apple")

错误

*** Terminating app due to uncaught exception 'CKException',reason: 'Invalid predicate: Title BEGINSWITH[cdl] "Apple" (Error Domain=ckerrorDomain Code=12 "Invalid operator in <Title BEGINSWITH[cdl] "Apple">: Unsupported operator: BEGINSWITH" UserInfo=0x7fb69d02e910 {ck_isComparisonError=true,NSLocalizedDescription=Invalid operator in <Title BEGINSWITH[cdl] "Apple">: Unsupported operator: BEGINSWITH,NSUnderlyingError=0x7fb69d02e9e0 "Unsupported operator: BEGINSWITH"})'

解决方法

从CKQuery的文档中可以看出:
“基于字符串的比较不区分大小写,但所有比较都必须与指定值完全匹配.”

https://developer.apple.com/library/ios/documentation/CloudKit/Reference/CKQuery_class/index.html#//apple_ref/occ/cl/CKQuery

所以我认为BEGINSWITH就是你所需要的.你有没有发现这种情况?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐