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