我正在开发一个CloudKit支持的应用程序,它的用户记录类型具有“以下”引用列表属性。我正在尝试构建一个查询,以获取每个跟随指定用户(即指定用户在下面的引用列表中作为条目出现的用户)的用户。
目前,我正试图为NSPredicate构建CKQuery,如下所示:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%@ IN following", [[CKReference alloc] initWithRecordID:currentUserID action:CKReferenceActionNone]];
CKQuery *query = [[CKQuery alloc] initWithRecordType:UserRecordType predicate:predicate];CloudKit返回以下错误消息:
"Unknown Item" (11/2003); server message = "did not find required record type";我觉得我可能在我的谓词中遗漏了一些非常直接的东西。任何帮助都将不胜感激!
发布于 2014-08-11 16:07:34
使用CONTAINS操作符测试列表成员资格:
CKReference* recordToMatch = [[CKReference alloc] initWithRecordID:currentUserID action:CKReferenceActionNone];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"following CONTAINS %@", recordToMatch];如果要查询多个引用,则需要对列表中的每个引用使用复合谓词和谓词类型。
发布于 2014-11-29 02:35:46
错误11意味着查询无法在容器中找到与记录类型匹配的任何项。在您的示例中,Cloud中不存在UserRecordType类型记录。您可以为该类型创建一个样例模式,然后查询就可以工作了。
https://stackoverflow.com/questions/25189158
复制相似问题