Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c CloudKit批量获取?_Objective C_Fetch_Cloudkit - Fatal编程技术网

Objective c CloudKit批量获取?

Objective c CloudKit批量获取?,objective-c,fetch,cloudkit,Objective C,Fetch,Cloudkit,使用CloudKit,如何批量获取结果 我知道默认的获取限制为100个结果。那么我该由谁来获取随后的100个结果呢?CloudKit返回的记录数不是固定的。CloudKit有一个决定返回多少记录的机制。看起来它目前是100,但它可能会根据Cloudkit上的当前负载而变化。可以在CKQueryOperation对象上将其设置为固定数字。默认值为: operation.resultsLimit = CKQueryOperationMaximumResults; 此属性的文档说明:当使用该值时,服

使用CloudKit,如何批量获取结果


我知道默认的获取限制为100个结果。那么我该由谁来获取随后的100个结果呢?

CloudKit返回的记录数不是固定的。CloudKit有一个决定返回多少记录的机制。看起来它目前是100,但它可能会根据Cloudkit上的当前负载而变化。可以在CKQueryOperation对象上将其设置为固定数字。默认值为:

operation.resultsLimit = CKQueryOperationMaximumResults;
此属性的文档说明:
当使用该值时,服务器选择一个限制,其目的是提供最佳数量的结果,以返回尽可能多的记录,同时最大限度地减少接收这些记录的延迟。但是,如果您知道要处理固定数量的结果,请相应地更改此属性的值。


CKQueryOperation将在queryCompletionBlock中返回一个游标,然后可以使用该游标执行另一个CKQueryOperation以获取下一个块。

Gotcha!多亏了Edwin,我还没有意识到我需要查看的是游标,现在它变得更有意义了。我今天发现,虽然游标确实允许您以100个批次获取更多记录,但检索数量的上限是10000。我不知道如何超越这一点。我需要能够遍历表中的所有记录(有很多记录)。我尝试将结果限制设置为(比如)20000,但是这会产生不同记录数的结果,通常是101条左右。