Ich bin neu in Realm
und ich finde es sehr interessant und bereits haben es geschafft, Daten zu speichern und abzurufen. Unter meinen Daten, die ich speichere, speichere ich auch eine NSDate()
, so dass ich meine Ergebnisse mit der Logik LIFO
sortieren kann, das bedeutet, dass die letzte, die gespeichert wird, zuerst in der Tabellenansicht sein sollte. Das ist mein Code!Realm Auftrag aufsteigend nach Datum immer scheitert
override func viewDidLoad() {
super.viewDidLoad()
let realmaki = try! Realm()
var eventodos = realmaki.objects(eventsNewSaved2)
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 288.0
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let realm = try! Realm()
let eventodoscount = realm.objects(eventsNewSaved2).sorted("realmgettime", ascending: true).count
return eventodoscount
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("savedCell", forIndexPath: indexPath) as! locationEventsTableViewCell
let realm = try! Realm()
let eventakiaSaved = realm.objects(eventsNewSaved2)
eventakiaSaved.sorted("realmgettime", ascending: true)
let task = eventakiaSaved[indexPath.row] as eventsNewSaved2
cell.eventTitle?.text = "\(task.realmtitle)"
cell.eventDate.text = "\(task.realmdate)"
cell.eventAttends.text = "\(task.realmattends)"
let imageDef : UIImage = UIImage(named: "noimage")!
if task.realmeventCover == "No Image Available" {
cell.eventImage.image = imageDef
} else {
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0)) {
let realm = try! Realm()
let eventakiaSaved = realm.objects(eventsNewSaved2)
eventakiaSaved.sorted("realmgettime", ascending: true)
let task = eventakiaSaved[indexPath.row] as eventsNewSaved2
let url = NSURL(string: task.realmeventCover)
if url != nil {
let data = NSData(contentsOfURL: url!)
dispatch_async(dispatch_get_main_queue()) {
cell.eventImage.image = UIImage(data: data!)
}
} else {
cell.eventImage.image = imageDef
}
}
}
return cell
}
Die Variable realmgettime
ist das Datum Zeit Objekt, das i zu speichern, während der Benutzer-Taste in einer anderen Ansicht speichern drückt. Die Tabellenansicht bleibt gleich, auch wenn ich aufsteigend auf wahr oder falsch setze. Irgendeine Idee warum nicht ??
Ihr Code funktioniert perfekt, obwohl für die LIFO-Sortierung i 'true' zu' false' geändert und es funktionierte. Verstehe aber nicht warum –