TableView et ajout de sections

Bonjour à  tous,


 


J'ai un tableau sortedArray qui comporte les éléments suivants :



[{
id:"1";
description:"produit 1";
dateAjout:"2017-01-23 17:50:25 +0000";
},
{
id:"2";
description:"produit 2";
dateAjout:"2017-02-15 10:50:25 +0000";
},
{
id:"3";
description:"produit 3";
dateAjout:"2017-02-22 13:50:25 +0000";
}]

J'affiche ces données dans une tableView et j'aimerais que ce soit trié par mois, et donc par rapport à  mon exemple, ce serait :


 


janvier 2017


-- produit 1


 


février 2017


-- produit 2


-- produit 3


 


Est-ce possible de le faire avec ce tableau ou faut-il que je revois ma façon de faire ?


Merci.


 


 


 


Réponses

  • Joanna CarterJoanna Carter Membre, Modérateur

    Tu joues avec CoreData avant de trier les résultats ?


  • Joanna CarterJoanna Carter Membre, Modérateur

    Ah. OK, des questions :


     


    1. Est-ce que tu serais disposé de changer le modèle CoreData?


     


    2. Est-ce que tu utilises la propriété id pour trier ?


     


    3. Est-ce que tu montres la propriété id ?


  • Alors 


    1. si possible ne pas changer le modèle


    2. non, actuellement les produits sont affichés à  la suite triés sur la date


     


    -- produit 1 janvier 2017


    -- produit 2 février 2017


    -- produit 3 février 2017


     


    3. non id n'est jamais montré dans les cellules de ce tabeView


  • Joanna CarterJoanna Carter Membre, Modérateur

    OK. 


     


    1. Il vaut le changer s'il ne te dérange trop. Tous deviendrait beaucoup plus facile à  gérer.


     


    2 & 3. dans CoreData, l'id n'est pas du tout nécessaire ; un id est généré et géré automatiquement.


     


    Je serais disposée de t'aider avec le modèle CoreData pour que tu atteignes ce que tu veux comme triage et repartition.


  • OK mais si on utilise Core Data, je l'ai déjà  fait en Ojective C mais je veux bien ta façon de faire qui sera certainement plus optimisée que la mienne  :)


    Merci.


  • Joanna CarterJoanna Carter Membre, Modérateur

    Tu veux m'envoyer, seulement, le fichier .xcdatamodeld par MP ?


  • Ne peux tu pas utiliser un NSFetchedResultController en spécifiant pour sectionNameKeyPath une propriété calculé sur ton champ dateAjout qui te renverrai "<mois> <année>" ?


  • Joanna CarterJoanna Carter Membre, Modérateur
    C'est ce que j'anticipe. Helio, je le regarderai demain matin
  • Joanna CarterJoanna Carter Membre, Modérateur

    Bonjour helio


     


    C'est ce que tu voulais ?


     


  • Super merci !
  • Joanna CarterJoanna Carter Membre, Modérateur

    Je t'ai envoyé un projet comme exemple mais il serait sympa de le discuter ici, afin que les autres puissent apprendre  :-*


Connectez-vous ou Inscrivez-vous pour répondre.