【发布时间】:2016-04-09 20:09:45
【问题描述】:
我在使用 CloudKit 时遇到了这种问题。试图从“数据”记录中获取所有数据。结果限制为100。如何获取所有数据?请,感谢您的任何建议。
func getAllDataFromCloudKit(){
let predicate = NSPredicate(value: true)
let container = CKContainer.defaultContainer()
let privateDatabase = container.privateCloudDatabase
let query = CKQuery(recordType: "Data", predicate: predicate)
privateDatabase.performQuery(query, inZoneWithID: nil) { results, error in
if error != nil {
print(error)
}
else {
for result in results! {
// return only 100 first
}
}
}
}
附:我发现了一个类似的问题,仍然不清楚或答案太旧,不适用于新的 Swift 版本
编辑:请参阅我的最终解决方案如何从下面的私有数据库中获取所有数据:
【问题讨论】:
-
您应该使用
CKQueryOperation而不是performQuery。您拥有更多控制权,可以处理更多记录。