我正在尝试搜索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的文档中可以看出:
“基于字符串的比较不区分大小写,但所有比较都必须与指定值完全匹配.”
“基于字符串的比较不区分大小写,但所有比较都必须与指定值完全匹配.”
所以我认为BEGINSWITH就是你所需要的.你有没有发现这种情况?