是否可以在 cloudkit 中实现“批量提取”,以便我可以调用一个方法来提取下一条 X 记录?目前,根据CloudKit Batch Fetches?cloudkit 隐式处理此问题,但我想以某种方式创建一种方法,允许我每次提取指定数量的查询。这是我到目前为止所拥有的:(其中 continuePullPosts 与我发布的方法类似)
queryOP.recordFetchedBlock = { record in
//do stuff here
annotations.append(postToAdd)
}
queryOP.queryCompletionBlock = { [unowned self] (cursor, error) in
DispatchQueue.main.async {
if error == nil {
if completionHandler(annotations) {
if cursor != nil {
let newQueryOP = CKQueryOperation(cursor: cursor!)
self.continuePullPosts(curLocation: curLocation, queryOP: newQueryOP,
annotations: annotations, completionHandler: completionHandler)
}
}
} else {
print(error)
print("could not pull posts")
}
}
}
queryOP.resultsLimit = CKQueryOperationMaximumResults
CKContainer.default().publicCloudDatabase.add(queryOP)
}