我能在CKQuery中使用recordID.recordName吗?

时间:2014-10-06 17:54:58

标签: ios cloudkit ckquery ckrecord

CKQuery doc说:谓词中使用的键名对应于当前评估记录中的字段。键名可以包括记录的元数据属性的名称,例如" creationDate“或您添加到记录中的任何数据字段。

我可以在CKQuery中使用哪些其他元数据?我可以使用record.recordID.recordName,如果是,那么key是什么?

2 个答案:

答案 0 :(得分:18)

是的,您可以创建一个CKQuery来搜索这样的记录ID:

var query = CKQuery(recordType: recordType, predicate: NSPredicate(format: "%K == %@", "creatorUserRecordID" ,CKReference(recordID: theSearchRecordId, action: CKReferenceAction.None)))

其中searchRecordId是您要查找的recordID.recordName

元数据字段是recordID,recordType,creationDate,creatorUserRecordID,modificationDate,lastModifiedUserRecordID,recordChangeTag

请参阅https://developer.apple.com/library/ios/documentation/CloudKit/Reference/CKRecord_class/index.html#//apple_ref/doc/uid/TP40014044-CH1-SW14

答案 1 :(得分:0)

我喜欢:

NSPredicate *predicate= [NSPredicate predicateWithFormat:
      @"recordID = %@",[[CKRecordID alloc] initWithRecordName:theRecordNameForThisRecord]];