2010-11-27 28 views
-1

嘗試爲ViewController(例如FirstViewController)設置自定義屬性(值)。ViewController自定義屬性

FirstViewController.h

//.. 
int value; 
} 
@property (assign) int value; 

FirstViewController.m

@synthesize value; 
-(void)showValue{ 
    self.value = 3; 
    NSLog(@"%d", self.value); 
} 

這裏工作得很好,但是當我想改變從另一個視圖控制器(ZeroViewController)什麼也不會發生這個變量(值)的值,並在ViewViewController NSLog(@「%d」,self.value)viewDidLoad方法我得到值== 0;看看我如何做到這一點。

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); 
} 

正如我想這裏應該是 「1」,但控制檯顯示爲0。

我想,發生這種情況是因爲我在ZeroViewController中初始化了我的FirstViewController,並且當FirstViewController變爲活動狀態時,它會再次初始化並取消所有值。或者,也許我錯了。

爲什麼我這樣做:我在ZeroViewController中有10個按鈕。我想讓FirstViewController改變它的值(self.value)當我按任何按鈕。

E.G.

firstViewController.value = 123;

如果可以幫忙,請這樣做。

謝謝!

http://narod.ru/disk/571946001/TestingValues.zip.html

項目。

+0

我很想看看你的firstViewController屬性是如何設置的。它不保留一個FirstView,你會過早釋放它,這可能會導致一些奇怪的結果(雖然我希望在這種情況下訪問異常不好)。 – Sam 2010-11-28 00:03:44

回答

0

解決方案:當我更改視圖時,我在方法中分配了視圖的屬性。