在应用程序,我想提出,会有大量数据的应用程序从iCloud中加载。 我的问题是,它不会将数据加载到一个集合视图,直到其完成接收的所有数据(这需要一段时间)。 我希望应用程序将数据加载到集合视图作为其接收数据,因此用户不必等待。 还是更具有应用程序只加载一些数据在同一时间? 我该怎么做呢? 这里是我的代码,我使用加载数据。
注:我使用SWIFT为这个项目。
func loadInfo() {
let predicate:NSPredicate = NSPredicate(value: true)
let query:CKQuery = CKQuery(recordType: "Data", predicate: predicate)
query.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
if let database = self.publicDatabase {
database.performQuery(query, inZoneWithID: nil, completionHandler: { (records:[AnyObject]!, error:NSError!) in
if error != nil {
self.alert("Error: \(error.localizedDescription)", Message: "Make sure iCloud is turned on and you are connected to the internet")
}
else {
dispatch_async(dispatch_get_main_queue()) {
self.array.removeAll(keepCapacity: false)
for record in records {
let usernameRecord:CKRecord = record as CKRecord
self.array.append(usernameRecord.objectForKey("Info") as String)
}
//update data
self.collectionView.reloadData()
}
}
})
}}