我的应用程序崩溃了这条消息
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。 ?
THX
答案 0 :(得分:1)
这一行:
avs.string1 = self.string;
由编译器翻译成:
[avs setString1:[self string]];
您将avs
定义为AvisUtilisateur *avs
,因此您假设根视图控制器(导航控制器的视图控制器数组中索引为0的对象)是AvisUtilisateur
的实例。无论这是否正确,您的代码都假定根视图控制器具有名为readwrite
的{{1}}属性,显然情况并非如此。