Попытка установить настраиваемое свойство (значение) для ViewController (например, FirstViewController).Пользовательское свойство ViewController
FirstViewController.h
//..
int value;
}
@property (assign) int value;
FirstViewController.m
@synthesize value;
-(void)showValue{
self.value = 3;
NSLog(@"%d", self.value);
}
Здесь работает отлично, но когда я хочу, чтобы изменить значение этой переменной (значение) от другого ViewController (ZeroViewController) ничего не происходит , и в viewDidLoad метод FirstViewController NSLog (@ "% d", self.value) i get value == 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.
Я думаю, это происходит потому, что я инициализирую свой FirstViewController в ZeroViewController, и когда FirstViewController становится активным, он снова инициализируется и все значения аннулируются. Или, может быть, я ошибаюсь.
Для чего я это делаю: у меня есть 10 кнопок в ZeroViewController. Я хочу, чтобы FirstViewController изменил его значение (self.value) Когда я нажимаю любую кнопку.
E.G.
firstViewController.value = 123;
Если это возможно, сделайте это.
Спасибо!
http://narod.ru/disk/571946001/TestingValues.zip.html
Проект.
Мне было бы интересно узнать, как настроено свойство firstViewController. Это не сохранит aFirstView, вы бы отпустили его преждевременно, что могло бы привести к каким-то странным результатам (хотя в этом случае я ожидал бы плохое исключение доступа.) – Sam 2010-11-28 00:03:44