2009-07-27 9 views
0

J'ai deux contrôleurs de vue (viewControllerA et viewControllerB) avec leurs propres vues. Lorsque l'utilisateur touche un bouton dans la vue de viewControllerA, je suis en mesure de charger la vue du viewControllerB.Invoke méthode dans une autre classe

Cependant, je ne sais pas comment appeler une méthode dans la classe viewControllerB!

+0

Vous n'êtes pas clair. Voulez-vous appeler des méthodes depuis viewControllerA pendant que vous êtes dans B, ou vous voulez appeler vos méthodes viewControllerB une fois qu'il est poussé sur l'appareil? –

+0

Désolé pour la confusion. Je souhaite appeler méthode dans viewControllerB à partir de viewControllerA. J'espère que cela a du sens! Sam. –

Répondre

0

Sans beaucoup d'informations, je suppose que les deux A & B sont de la même classe (bien qu'ils ne devraient pas être). Vous pouvez toujours déclarer une propriété qui indiquerait alors de l'un à l'autre:

MyViewController.h:

@interface MyViewController : UIViewController { 
    MyViewController *altViewController; 
} 

@property (nonatomic, retain) MyViewController *altViewController 
@end 

juste être sûr qu'une fois que vous instancié peuplez cette propriété avec un pointeur vers l'autre VC. Ensuite, vous pouvez facilement appeler une méthode sur l'autre contrôleur de vue simplement par: [altViewController doMethod];

+0

Salut - Merci pour la réponse. Depuis que je suis un Noob, j'ai du mal avec votre suggestion. Pouvez-vous s'il vous plaît - jolie s'il vous plaît - donner un exemple! Merci d'avance. Sam –

+1

configurer VCA avec un pointeur sur VCB comme je vous l'ai montré ci-dessus. Ensuite, après avoir instancié VCB avec quelque chose comme: MyViewController * vcb = [[MyViewController alloc] init] // ou initWithNibName; Ensuite, vous devez configurer altViewController de VCA pour qu'il pointe vers VCB: self.altViewController = vcb; Il est difficile d'aller plus loin sans savoir exactement ce que vous essayez de faire? Est-ce que les deux VC présenteront des données à la fois? Peut-être que chacun gère de petites UIViews à l'écran? Ou est-on poussé hors du chemin lorsque l'autre est affiché. Vous pouvez essayer quelques-uns des tutoriels iPhone disponibles sur le Web. – Meltemi

+0

Pour clarifier, lorsque VCB est chargé, VCA est déchargé et vice versa. Et oui, les VC ont leurs propres points de vue. Mais merci beaucoup pour votre explication et votre exemple. Je vais jouer avec et je vous le ferai savoir. –