2011-02-21 2 views
0

моей аварии приложение с этим сообщениемобмена данными с popToViewController

011-02-22 00:12:30.422 test01[6246:207] -[RootViewController setString1:]: unrecognized selector sent to instance 0x623c800 
2011-02-22 00:12:30.423 test01[6246:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RootViewController setString1:]: unrecognized selector sent to instance 0x623c800' 

* стек вызовов на первый бросок:

это мой код:

- (void)save2:(id)sender{ 


(pseudoUtilisateur *) [pseudoUtilTb cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; 
self.string =textField.text; 
NSLog(@"donnees %@",string); 


AvisUtilisateur *avs = [self.navigationController.viewControllers objectAtIndex:0]; 
avs.string1 = self.string; 


[self.navigationController popViewControllerAnimated:YES]; 

}

Я не понимаю, почему он сказал мне RootviewController setString1. ?

ТНХ

ответ

1

Эта линия:

avs.string1 = self.string; 

переводится компилятором в это:

[avs setString1:[self string]]; 

Вы определили avs как AvisUtilisateur *avs так Вы предполагаете контроллер представления корня (объект с индексом 0 в массиве контроллеров контроллера навигации) является экземпляром AvisUtilisateur. Правильно ли это, ваш код предполагает, что контроллер корневого представления имеет свойство readwrite с именем string1 и, видимо, это не тот случай.

+0

hi благодарит за вас ответ. но я не понимаю, почему я должен объявить string1 в моем rootViewControll. Я не хочу делиться данными в корневом контроллере. Возможно, потому что я использую [self.navigationController.viewControllers]? У меня есть 3 класса: rootViewController, AvisUtilisateur и PseudoUtilisateur. Я хочу поделиться данными между PseudoUtilisateur и AvisUtilisateur. ТНХ – user627441

+0

Ваш код посылает 'setString1:' сообщение для экземпляра пользовательского класса 'RootViewController', который является объектом по индексу 0 внутри навигационного контроллера. Возможно, вы ожидали, что это будет экземпляр «AvisUtilisatuer», но это не так. – jlehr

Смежные вопросы