我正在尝试(从我的第三个孩子开始)用下面的代码加载根视图。这不起作用,当运行下面的代码时,我得到以下错误。
-[DetailViewController clickButton:]: unrecognized selector sent to instance 0x1161e00' 代码:
MapViewController *dvController = [[MapViewController alloc] initWithNibName:@"MapView" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:dvController animated:YES];
[dvController release];
dvController = nil;这段完全相同的代码可以在其他视图上运行,你知道如何调试它吗?
发布于 2009-05-20 04:58:21
您为创建MapViewController并将其推送到视图控制器堆栈而编写的代码是正确的。
无法识别的选择器错误告诉您,您正在尝试调用一个不存在的方法(名为clickButton:)。
我怀疑是拼写错误。我认为您很可能已经定义了一个按钮,该按钮调用创建新视图的代码。该方法应如下所示:
-(void) clickButton: (id) sender {
MapViewController *dvController = [[MapViewController alloc] initWithNibName:@"MapView" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:dvController animated:YES];
[dvController release];
dvController = nil;
}我会检查你是否有":(id)发送者“部分。我之前犯过一个错误,实现了-(空) clickButton {}方法,但消息实际上也发送了一个参数。
发布于 2009-05-20 13:30:44
- (IBAction)clickButton:(id)sender;
[self navigationController:popToRootViewControllerAnimated:YES;
https://stackoverflow.com/questions/884404
复制相似问题