Here is my code for retrieving data from icloud. How do i limit the number of data it retrieves to 25? I saw this question answered before, but i'm not sure how to apply it to my code? can you help?
Here is where i saw the question answered before. Please tell me exactly how to add it to my code or just give an answer with it in the code.
CKQuery from private zone returns only first 100 CKRecords from in CloudKit
import UIKit
import CloudKit
class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
@IBOutlet weak var collectionView: UICollectionView!
var EventsArray:[String] = [String]()
var container:CKContainer?
var privateDatabase:CKDatabase?
var publicDatabase:CKDatabase?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.container = CKContainer.defaultContainer()
self.privateDatabase = self.container?.privateCloudDatabase
self.publicDatabase = self.container?.publicCloudDatabase
self.collectionView.dataSource = self
self.collectionView.delegate = self
self.LoadEvents()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func LoadEvents() {
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")
self.loading.hidden = true
}
else {
dispatch_async(dispatch_get_main_queue()) {
self.EventsArray.removeAll(keepCapacity: false)
for record in records {
let usernameRecord:CKRecord = record as CKRecord
if let event = usernameRecord.objectForKey("Events") as? String{
self.EventsArray.insert(event, atIndex: 0)
}
}
//update data
self.collectionView.reloadData()
self.loading.hidden = true
}
}
})
}}