Donc, j'ai une classe ViewController qui est ma première vue, je lui ajoute ensuite une sous-vue, code pseudo ci-dessous;Objective-C Classes
ViewController2 *viewController2 = [[ViewController2 alloc] init];
[self addSubview:viewController2.view];
Ma question est, dans ViewController1, j'ai une méthode qui fait une animation et supprime la vue. Comment puis-je appeler cette méthode à partir d'un bouton sur ViewController 2?
J'ai essayé de faire quelque chose comme dans ViewController2 ...
ViewController1 *viewController1 = [[ViewController1 alloc] init];
[viewController1 back]; //Trying to call method in other class from ViewController2
Et son drôle parce que dans la méthode « retour » sur ViewController1, j'ai une déclaration NSLog, et il fonctionne, mais aucun des autres codes travaux. Donc, je sais que la méthode est appelée depuis mon autre classe, mais seule la partie NSLog s'exécute? Aucune suggestion.
donc en gros je veux appeler une méthode de ViewController1 de ViewController2
Ahhh qui a fait l'affaire! Merci beaucoup John, je l'apprécie vraiment. –
La solution que John m'a donnée a fonctionné parfaitement et a fait l'affaire. Ma dernière question est maintenant - est-il de toute façon de se débarrasser de l'avertissement "'UIViewController' peut ne pas répondre à '-back'"? La méthode fonctionne, il suffit d'obtenir l'avertissement parce que c'est défini ailleurs. –
Des sons comme l'ivar est défini comme un UIViewController, pas comme un ViewController1. Dans l'en-tête ViewController2 vous pouvez ajouter "@class ViewController1;" Pour transmettre la classe VC2, dans ViewController2, assurez-vous que vous #importez "ViewController1.h" pour que le compilateur connaisse toutes les méthodes VC1. –