J'ai 2 viewcontrollers, vc1 et vc2.Xcode Objectif C - Modifier le texte UILabel d'une autre classe
vc1 a un UILabel. vc2 a un UIButton. Lorsque le bouton est cliqué sur vc2, je veux que le texte de uiLabel de vc1 change. Comment je fais ça?
vc1.h
@interface vc1 : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *textLabel;
@end
vc1.m
@interface vc1()
@end
@implementation vc1
@synthesize textLabel = _textLabel;
@end
vc2.m
#import "vc2.h"
#import "vc1.h"
@interface vc2()
@end
@implementation vc2
- (IBAction)onClick:(id)sender {
vc1 *vc1Object = [[vc1 alloc] init]; //create object
[email protected]"New Text"; //set new text
}
Mon code ci-dessus ne fonctionne pas parce qu'il est c répéter une nouvelle instance au lieu d'accéder à la propriété d'origine. Cependant, je ne sais pas comment créer des getters/setters pour IBOutlets, ou s'il y a un autre moyen. Comment est-ce que je change le texte sur le UIlabel du deuxième viewcontroller?
Toute aide serait appréciée. Merci d'avance.
Vous pouvez utiliser ceci: - 1. '' NSNotificationCenter' 2.'KVO' 3. Delegates' 4. 'Block' – pkc456
comment vous gérez v1 et v2? allez-vous de v2 à v1? ou ce v1 et v2 sont uiviewcontainers? ou vous renvoyez de v2 à v1 - la méthode sera différente – Nazir
@ pkc456 J'ai fini par utiliser NSNotificationCenter, merci pour votre aide! – hmzfier