Je suis nouveau sur iOS et j'essaie de trouver quelque chose qui soit probablement basique. J'ai deux UIViews, avec quatre boutons sur chaque page, et quatre étiquettes sous chaque bouton. Fondamentalement, si j'appuie sur le bouton 1 sur le contrôleur de vue 1, j'aimerais que toutes les étiquettes sur le contrôleur de vue 2 lisent simplement "1". Voici une image pour un meilleur confort visuel:Modification de texte sur un contrôleur de vue séparé
Maintenant, j'ai connecté une transition Modal de bouton 1 à 2 View Controller IB et appeler cette méthode:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"number1"]){
ViewController2 *controller2 = [[ViewController2 alloc]init];
controller2.label1.text = @"1";
NSLog(@"Fired");
NSLog(@"%@", controller2.label1.text);
}
}
Il transitions très bien, mais ne change pas l'étiquette. Les NSLogs montrent que la méthode se déclenche, mais l'étiquette est nulle. Est-ce que quelqu'un sait ce que j'ai besoin de changer ici?
Je déclare mon étiquette ViewController2 comme ceci:
@interface ViewController2 : UIViewController {
UILabel *label1;
}
@property (strong, nonatomic) IBOutlet UILabel *label1;
@end
Voici l'inspecteur des connexions pour label1:
Merci. J'ai changé la ligne à celle que vous avez posté, mais cela ne change toujours pas l'étiquette. Je ne sais pas pourquoi, c'est confus. – John
Avez-vous l'étiquette correctement connectée à 'ViewController2' dans votre storyboard? – duci9y
Oui, oui. En outre, j'ai édité mon OP pour montrer comment je l'ai déclaré, cela peut être le problème. – John