alimenter un sourcelist

Bonjour,


 


Je voudrais alimenter un source list un peu comme le fait le finder, mail, calendrier...


 


Le header doit être des catégories (ma classe swift Famille qui contient un id et un nom) tandis que les items appartenant dont je retourne une liste d'élément: n'ayant pas le code sous les yeux, je le refais à  l'arrache ci-dessous afin de vous donner une idée:



class Famille {
id: Int;
name: String;
...
}

enum SexEnum {
...
}

class Reptile {
id: Int;
famille: Famille;
name: String;
Sex: SexEnum;
....
}



Dans ma sourcelist, je voudrais afficher, trié par famille, mes reptiles par sex et name.

 

Le soucis est que je ne trouve pas comment alimenter cette dernière :/

 

Par avance, je vous remercie de votre aide :)

 

 


Réponses

  • Euh .. c'est pas très clair. Si je comprend bien ton problème est de trouver le moyen de définir tes objets Reptile. Cela peut se faire de différentes manières :


     


    - Directement dans le code, si le nombre de bestioles n'est pas très grand et que les données n'ont pas besoin d'être modifiés/supprimés. En général on fait ça pour des tests, pas pour une application réelle.


     


    - Par parsage d'un fichier XML ou Json.


     


    - Par stockage des reptiles dans un fichier plist (une version du XML propre à  Apple permettant de définir le contenu avec un éditeur graphique. C'est plus pratique à  utiliser qu'un fichier XML brut avec sa syntaxe compliqué) 


     


    - En créant un outil pour saisir les données facilement et générer ensuite un fichier contenant les reptiles. Fichier qui se retrouvera ensuite dans les ressources de l'application.

  • Je pensais enregistré en database au final, car après il y a pleins de données qui vont s'appliquer. Au début je pensais en ajouter à  travers des mocks en initialisant une list en swift


  • Je ne sais absolument pas ce qu'est un mock. Bon faut dire que les bases de données ne m'ont jamais intéressés. 


     


    Si l'approche base de données te parle, tu peux jeter un oeil à  CoreData, l'outil officiel d'Apple pour manipuler des données, une sorte d'encapsulation objet du SQL.

  • CéroceCéroce Membre, Modérateur
    Une SourceList est une NSOutlineView avec un style particulier.
    Pour l'alimenter il faut soit utiliser les bindings (je déconseille) ou créer une classe qui se conforme à  NSOutlineViewDataSource.


  • Je ne sais absolument pas ce qu'est un mock. 




    c'est des données "fictives" permettant de s'assurer qu'un élément marche. En gros tu sais que tu vas devoir retourné un élément liste, donc tu crées une liste "en dur", et quand tu es sur que tout ça marche, tu peux "te permettre" de faire des liaisons à  la source de données finale: https://fr.wikipedia.org/wiki/Mock_(programmation_orient%C3%A9e_objet)


     


     




    Pour l'alimenter il faut soit utiliser les bindings (je déconseille) ou créer une classe qui se conforme à  NSOutlineViewDataSource.




    Je vais essayé de regarder ceci avec CoreData en parrallèle.


     


    Merci à  vous.

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