【发布时间】:2014-10-31 08:20:22
【问题描述】:
我尝试为此使用 CKQueryOperation:
CKQueryOperation *o = [[CKQueryOperation alloc] initWithQuery:query];
[o setDesiredKeys:@[]];
但它仍然返回了很多我现在不需要的数据
<CKRecord: 0x79881a50; recordType=Comment, recordID=CBB7B269-47AH-406E-8934-682D31501778:(_defaultZone:__defaultOwner__), recordChangeTag=i1x8j1ey, values={
}>
{
creatorUserRecordID -> <CKRecordID: 0x7966e9d0; _e5b178bde573ba6fee336b9ed8:(_defaultZone:__defaultOwner__)>
lastModifiedUserRecordID -> <CKRecordID: 0x7966cdd0; _e5b178bd3e9e7a6e336b9f34ed8:(_defaultZone:__defaultOwner__)>
creationDate -> 2014-10-31 07:20:45 +0000
modificationDate -> 2014-10-31 07:20:45 +0000
modifiedByDevice -> iPhone Simulator
}
我只需要记录计数。
【问题讨论】:
-
@EdwinVermeer,我不想设置限制,我想知道记录是多少。
-
在 CloudKit 中不能进行聚合查询。所以你必须查询所有记录并计算它们。那里关于设置限制的评论是为了表明您可以控制云套件返回的记录数量。因为如果您查询 cloudkit,Apple 将决定它将返回多少条记录。当您进行查询时,可能不会返回所有记录。 queryCompletionBlock 返回一个游标。您必须从该光标开始继续阅读。
-
@EdwinVermeer 所以,我明白了。你能告诉我你将如何解决这个问题吗:有几十个事件,我想为每个事件找到 cmets 的数量。未来未读的 cmets 数量也是如此。根据 Apple 的建议,参考是向后的:从评论到事件。你能写一个答案,这样我就可以结束这个问题了吗?
标签: ios xcode cloudkit ckquery