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.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu joues avec CoreData avant de trier les résultats ?
oui c'est la suite de ce sujet
http://forum.cocoacafe.fr/topic/15094-charger-une-entit%C3%A9-core-data-dans-un-array/
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
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.
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>" ?
Bonjour helio
C'est ce que tu voulais ?
Je t'ai envoyé un projet comme exemple mais il serait sympa de le discuter ici, afin que les autres puissent apprendre :-*