2010-11-27 14 views
-1

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.

+0

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

+0

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

Répondre

0

Solution: J'ai affecté la propriété de ma vue dans la méthode lorsque je change les vues.