[Débutant] Du mal à  piger les règles des scopes des variables...

pinuspinus Membre
03:58 modifié dans API UIKit #1
Bonjour,

Je continue dans mes pérégrinations iPhone SDK et j'ai pas mal avancé (notamment grâce à  ce site vraiment utile et à  Miss Sadun..)
Toutefois, même brutalement, j'ai du mal à  piger les règles qui régissent le "scope" des variables :

Dans un projet "Navigation Based", je fais à  peu près ce que je veux avec le RootViewController. Notamment, je peux crer et alimenter mes lignes/cellules de TableView avec un simple NSArray initialisé dans "viewWillAppear". ça marche super bien.

En revanche pour les UITableViewControllers suivants (ceux que j'appelle avec un fameux "pushViewController"), c'est une autre histoire:
Si je peux initialiser mon NSArray dans "viewWillAppear", je ne peux plus rien en faire dans les moments où j'en ai besoin :
"cellForRowAtIndexPath" et "didSelectRowAtIndexPath" : dans ces 2 méthodes, mon NSArray ne contient rien ! ...bien que dans le RootViewController, c'est fait comme ça et je ne me cogne aucune erreur...

En bref, je merdoie royalement car je ne sais pas où déclarer mon NSArray afin de pouvoir l'utiliser à  n'importe quel moment durant la vie de ma view..

Je ne sais pas si je suis clair (enfin "j'me comprends..."), mais si ça parle à  un convive, j'en serais comblé !

D'avance Merci.

Pinus.

Réponses

  • Philippe49Philippe49 Membre
    03:58 modifié #2
    Fais un schéma réglant les relations entre tes classes un peu dans le genre de celui à  cette adresse. Tu y verras plus clair.
  • pinuspinus Membre
    03:58 modifié #3
    J'ai beaucoup l'idée de "DataController". Est-il "censé" de gérer toutes les sources de données de toutes TableView à  partir de ce controller ? Merci. Pinus.
  • pinuspinus Membre
    03:58 modifié #4
    Pardon, j'aurais dû me relire :

    J'aime beaucoup l'idée de "DataController". Est-il "censé" de gérer toutes les sources de données de toutes les TableView à  partir de ce controller ? Merci. Pinus
  • Philippe49Philippe49 Membre
    03:58 modifié #5
    dans 1228405457:

    Est-il "censé" de gérer toutes les sources de données de toutes les TableView à  partir de ce controller ? Merci. Pinus

    Un seul dataController est possible mais le risque de s'emmêler les pinceaux est plus important.
    (La classe DataController est également optionnelle, on peut se contenter d'une NSArray comme variable du dataSource)
    Il est plus simple de faire un model par TableView, à  moins que les données utilisées par les différentes table view soient imbriquées les unes aux autres. Prends un papier, et un crayon, fais un schéma des connexions voulues, et tu y verras plus clair.

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