Trier les dates avec des placards à maintenant en premier et passé en bas

J'ai une tableview dans laquelle il y a plusieurs dates. J'ai besoin de sortinger les dates de sorte que la date la plus descendante soit en haut ( (indexPath.row == 0) ) et les dates passées doivent être en bas ( (indexPath.row == ´lastRows´) ) et en entre les autres dates à venir.

J'ai regardé autour sans find une bonne solution. Le code suivant n'affiche que la date la plus proche en premier – ne pas mettre les dates passées en bas comme je le désire. (Voir l'image pour un exemple plus clair du problème, le genre que je veux:

  • Prochain One
  • À venir 2
  • Date passée)

    dqItems.sort(by: {$0.date < $1.date})

Y a-t-il un moyen d'accomplir cela? Ou en poussant une date (et sa cellule) au bas de la vue de la table quand la date devient le passé?

entrez la description de l'image ici

    Remplacez simplement le signe "inférieur à" par "supérieur à":

     dqItems.sort(by: {$0.date > $1.date}) 

    Plutôt que d'utiliser .sort, utilisez .sorted pour get une copy sortingée. Puis searchz la copy sortingée pour find où l'heure actuelle appartient. Utilisez cet index pour créer quelques tranches et copyz les tranches là où vous le souhaitez (dans le tableau d'origine).