[CoreData] Supprimer un objet d'un array

Je viens de relire attentivement ton message (ce que je n’avais pas vraiment fait jusqu’à présent, je l’avais plutôt survolé).
Je vois que tu as mis en commentaire ta ligne Storage.deleteCell(cellID:cellId) : c’est parce que ça ne compile pas??
En tout cas, c’est ce principe qui fonctionne chez moi. Moi je supprime la cellule du tableau après l’avoir supprimée de CoreData, mais c’est un détail.
Il y a un détail aussi il faut prendre garde, c’est le type IndexSet dans onDelete : c’est un Set d’index. Il y a donc plusieurs index.
Donc avant de faire le arrayCellule.remove, il faut faire :
for idx in index {
storage.deleteCell(cellID:arrayCellule[idx].idx)
}
Ça devrait mieux marcher.
A+
Pascal

1 « J'aime »

Et bien je te remercie car j’ai appris quelque chose, je ne pensais pas que une simple boucle for réglerais le soucis de la sorte.
Si un jour je dois passer par .onDelete je sais maintenant que je serais sereins pour coreData.

Petit question ceci dit:

À la toute fin tu ajoutes un .idx mais je ne vois pas à quoi il sert. Quand je fais pareil (avec le même nom de paramètre pour la boucle for) je rentre dans les paramètres de ma struct.

Encore merci !

tu as raison, c’est une faute de frappe, il faut lire:

storage.deleteCell(cellID:arrayCellule[idx].id)

C’est parce que la fonction deleteCell attend l’id de la cellule qui, je suppose, est contenu dans cell.id

A bientôt et bon courage

Bonjour @prq
Désolé de te répondre si tard.
Je bloquais sur le indexes, et tu as répondu à ma question avec la ligne « storage.deleteCell(cellID:arrayCellule[idx].id) », et cela fonctionne parfaitement!
Merci à toi, parce que je me trouvais bien bloqué pour une simple ligne :wink:.