Essayer de définir une propriété personnalisée (valeur) pour un ViewController (par exemple, FirstViewController).Propriété personnalisée ViewController
FirstViewController.h
//..
int value;
}
@property (assign) int value;
FirstViewController.m
@synthesize value;
-(void)showValue{
self.value = 3;
NSLog(@"%d", self.value);
}
fonctionne ici très bien, mais quand je veux changer la valeur de cette variable (valeur) d'un autre ViewController (ZeroViewController) rien ne se passe , et dans la méthode viewDidLoad de FirstViewController NSLog (@ "% d", self.value) j'ai une valeur == 0; Regardez la façon dont je le fais.
ZeroViewController.h
FirstViewController* firstViewController;
}
@property (nonatomic, retain) FirstViewController* firstViewController;
ZeroViewController.m
FirstViewController *aFirstView = [[FirstViewController alloc]init];
self.firstViewController = aFirstView;
[aFirstView release];
firstViewController.value = 1;
NSLog(@" %d", firstViewController.value);
FirstViewController.m
-(void)viewDidLoad{
NSLog(@"%d", self.value);
}
Comme je suppose ici devrait être "1", mais montre console 0.
Je pense que cela se produit parce que j'initialise mon FirstViewController dans ZeroViewController, et lorsque FirstViewController devient actif, il s'initialise à nouveau et toutes les valeurs sont annulées. Ou peut-être que j'ai tort.
Pour ce que je fais ceci: J'ai 10 boutons dans un ZeroViewController. Je veux que FirstViewController change sa valeur (self.value) Quand j'appuie sur n'importe quel bouton.
E.G.
firstViewController.value = 123;
S'il est possible d'aider, s'il vous plaît, faites-le.
Merci!
http://narod.ru/disk/571946001/TestingValues.zip.html
Le projet.
Je serais intéressé de voir comment votre propriété firstViewController est configurée. Si elle ne conserve pas aFirstView, vous la libèreriez prématurément, ce qui pourrait conduire à des résultats bizarres (bien que je m'attendrais à une mauvaise exception d'accès dans ce cas.) – Sam
http://narod.ru/disk/571946001/TestingValues .zip.html Voici le code source. avec quelques modifications que j'ai faites en m'attendant à résoudre. – 0xDE4E15B