我需要为它提供正确的谓词,但我不能将ID指定为谓词的参数,因为它不支持CKRecordValue协议.另一个想法是使用CKReference,但是如何编写正确的谓词呢?
如果我尝试使用字符串数组并再次评估recordID.recordname键路径:
var references:[String] = IDs.map{<ckerror 0x17005f3b0: "InvalID Arguments" (12/1009); "InvalID predicate: recordKey (recordID.recordname) contains invalID characters">.recordname} var predicate = nspredicate(format: "ANY recordID.recordname IN %@",references)
我收到以下错误:
predicate ANY recordID.recordname IN {"AFF487BE-4A7E-4F76-8185-79FA2E1EFC33","D4D83B37-97DE-4BF2-9E43-4C5522E36DF1","0126008A-0B42-4F95-AB31-BB13B6215475","6DE83AD9-F307-467D-A5EF-AD2B97B8E7F7","F701ADBF-9BE7-4F42-8CA9-44D2D0E629F8","38C4FB60-8A65-43F9-8E1E-4C48D5B60DCD"}
谓词格式输出:
let fetchRecordsOperation = CKFetchRecordsOperation(recordIDs: recordIDs)fetchRecordsOperation.desiredKeys = desiredKeys
任何帮助表示赞赏.
解决方法 您可以使用CKFetchRecordsOperation来获取您已知道其RecordID的记录:使用您要检索的CKRecordID数组启动 *** 作,它将返回perRecordCompletionBlock中的每个单独记录结果以及fetchRecordsCompletionBlock中获取的所有记录.
您可以通过将Nsstrings数组设置为desiredKeys属性并使用您要检索的字段的名称来默认检索完整记录或仅检索其值的子集.
总结以上是内存溢出为你收集整理的swift – 如何获取具有特定ID的记录?全部内容,希望文章能够帮你解决swift – 如何获取具有特定ID的记录?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)