Estoy usando Realm con Swift. Quiero ordenar las "imágenes" guardadas en Realm por PhotoCollectionViewController en orden inverso a la fecha. no se que debo hacer Me encantaría que me prestaras tu sabiduría.
Modelos.swift
import RealmSwift class Entry: Object { @objc dynamic var text = "" @objc dynamic var date = Date() let pictures = List<Picture>() } class Picture: Object { @objc dynamic var fullImageName = "" @objc dynamic var thumbnailName = "" @objc dynamic var entry : Entry? }PhotoCollectionViewController.swift
import UIKit import RealmSwift class PhotoCollectionViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout { var pictures : Results<Picture>? override func viewWillAppear(_ animated: Bool) { getPictures() } func getPictures() { if let realm = try? Realm() { pictures = realm.objects(Picture.self) //I want to sort pictures in the reverse order of date collectionView?.reloadData() } } … }Debería poder ordenarlo con el siguiente código
realm.objects(Picture.self).sorted(byKeyPath: "date", ascending: false)Lo siento, lo resolví yo mismo. Cambié las "imágenes" de la siguiente manera, pude hacer lo que esperaba.
pictures = realm.objects(Picture.self).sorted(byKeyPath: "entry.date", ascending: false)Gracias por las respuestas y los consejos.
Si entendí correctamente, desea ordenar los objetos Entry y luego flatMap a un montón de Picture :
var pictures = realm.objects(Entry.self) .sorted(byKeyPath: "date", ascending: false) .flatMap { $0.pictures }