如何跳过来自 cloudKit 的 ckqueryCursor 的批处理结果数量,我想显示更多单元格取决于我表中现有单元格的数量
我做了类似的事情来知道有多少条记录和多少批处理,但我不知道如何告诉 cloudkit,显示第二批处理而不是重新加载所有内容......
Parse 有 Skip ... 那么 cloudkit 呢?
let container = CKContainer.defaultContainer()
let database = container.publicCloudDatabase
//count number or records on my database
let predicate = NSPredicate(value: true)
let query = CKQuery(recordType: "Products", predicate: predicate)
query.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
database.performQuery(query, inZoneWithID: nil, completionHandler: {
(results, error) -> Void in
if error != nil {
return
} else {
let limit = 10
let APIrequests: Int = ((Int((results?.count)!) + limit - 1)) / limit
print("\(APIrequests)") // number of requests we need
print(results?.count)
}
})
最佳答案
CloudKit 不会像您预期的那样在 CKQuery
中处理此逻辑(就像 PFQuery
那样)。
CloudKit 使用 CKQueryCursor
类处理分页。 您必须直接使用实例化 CKQueryOperation
才能使用 queryCursors。
当您执行 CKQueryOperation
时,您必须在 queryCompletionBlock
中保存/缓存 queryCursor。
当您想要另一页数据时,使用 initWithCursor
创建另一个 CKQueryOperation
并传递您从上次查询中保存的缓存 queryCursor。
关于ios - 跳过 CKQueryCursor cloudkit 的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35386571/