Singleton ?
gibet_b
Membre
Salut à tous,
Dans mon AppController.h, je déclare :
J'aurai besoin de tableCategorie dans mon PreferenceController. Comment dois-je faire ? Dois-je déclarer une classe singleton Categorie ? Je dois avouer que ce que j'ai trouvé à propos des singleton me parait un peu obscur...
Merci d'avance !
Dans mon AppController.h, je déclare :
<br />@interface AppController : NSObject {<br /> // Le panneau de préférence de l'application<br /> PreferenceController *preferenceController;<br /> <br /> // Tableau des catégories<br /> NSMutableArray *tableCategorie;<br />}<br />
J'aurai besoin de tableCategorie dans mon PreferenceController. Comment dois-je faire ? Dois-je déclarer une classe singleton Categorie ? Je dois avouer que ce que j'ai trouvé à propos des singleton me parait un peu obscur...
Merci d'avance !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Dans le .m de ton contrôleur, mets cette ligne avant le @implementation :
Ensuite, dans le @implementation :
Enfin, au début de ton awakeFromNib :
Maintenant, où que tu sois dans ton appli, tu peux récupérer l'instance (unique) de ton contrôleur par :
Il ne te reste plus qu'à implanter une méthode d'accès à ton NSArray.
.
Merci !
'AppController' may not respond to '+sharedInstance'
'AppController' may not respond to '-tableCategorie'
Y a pas moyen d'éviter ces warnings ? Est-ce parce que cette solution n'est pas propre ? N'était-ce pas mieux de mettre le singleton sur une classe Categorie que j'aurai créé ?
sharedInstance et tableCategorie sont des méthodes exposées (donc publiques).
Dans ce cas, il faut que tu les déclares dans AppController.h :
Ensuite, dans chaque source où tu vas utiliser ces 2 méthodes, tu devras faire un :
en tête du source.
.
Merci encore pour tes réponses et ta patience !