Ich entwickle eine Social-Media-App zum Spaß mit CloudKit und ich habe mich auf das Problem gedrängt, die zuletzt geposteten Bilder zuerst anzuzeigen.Wie kann ich den Beitrag anzeigen, der dem aktuellen Datum von CloudKit am nächsten ist?
Ich habe einen Record-Typ-Setup auf CloudKit, um das Bild und ein Datum gebucht zu haben, das programmatisch auf das Datum des iPhone-Postings eingestellt ist.
Hier ist mein Code für die Anzeige der Bilder, wenn Sie die App öffnen:
override func viewDidAppear(animated: Bool) {
let container = CKContainer.defaultContainer()
let publicDatabase = container.publicCloudDatabase
let predicate = NSPredicate(value: true)
let query = CKQuery(recordType: "Post", predicate: predicate)
publicDatabase.performQuery(query, inZoneWithID: nil) { results, error in
if error == nil { // There is no error
results
print("No Error")
if results!.count > 0 {
print("Found some")
self.newResults = results!
let randomNumber = arc4random_uniform(UInt32(results!.count - 1)) + 0
let randomNumberInt = Int(randomNumber)
let record = results![randomNumberInt]
let img = record.valueForKey("Picture") as? CKAsset
let image = UIImage(contentsOfFile: img!.fileURL.path!)
self.imageView.image = image
dispatch_async(dispatch_get_main_queue(), {() -> Void in
})
}
}
else {
print(error)
}
}
}
Vorerst dieser Code zeigt nur ein zufälliges Bild in dem results
Array. Aber ich möchte die Ergebnisse irgendwie sortieren und das zuletzt gepostete Bild mit der DatePosted
CloudKit-Datensatztyp-Eigenschaft anzeigen. Ich weiß nicht, wie ich das machen soll, also wäre jede Hilfe sehr willkommen!
Nutzen Sie die 'sortDescriptors' Eigenschaft des' CKQuery'. – rmaddy