【发布时间】:2010-05-06 03:36:20
【问题描述】:
我有一个 UITabBarConroller,用于在 3 个不同的视图之间切换。这一切都完美无缺。在我的一个选项卡上,我添加了一个名为“添加”的按钮,为此添加了一个出口,以及一个如下所示的 IBAction 方法:
// Method used to load up view where we can add a new ride
- (IBAction)showAddNewRideView {
MyRidesViewController *controller = [[MyRidesViewController alloc] initWithNibName:@"AddNewRide" bundle:nil];
controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:controller animated:YES];
[controller release];
}//end showAddNewRideView
这目前工作正常,并加载了我的 AddNewRide nib 文件。但是,一旦该视图加载,我有一个取消按钮,单击该按钮时,我想返回到前一个视图。所以,我想我会做与上述相反的事情,使用以下方法来加载我以前的笔尖:
- (IBAction)cancelAddingNewRide {
MyRidesViewController *controller = [[MyRidesViewController alloc] initWithNibName:@"MainWindow" bundle:nil];
controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:controller animated:YES];
[controller release];
}//end cancelAddingNewRide
但是,尝试加载 MainWindow nib,程序崩溃,我收到以下错误:
2010-05-05 20:24:37.211 Ride[6032:207] *** -[MyRidesViewController cancelAddingNewRide]: unrecognized selector sent to instance 0x501e450
2010-05-05 20:24:37.213 Ride[6032:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[MyRidesViewController cancelAddingNewRide]: unrecognized selector sent to instance 0x501e450'
所以,我有点不明白为什么它会以一种方式起作用,而另一种则不起作用。
【问题讨论】:
标签: iphone objective-c views