的UIBarButtonItem拨动开关布尔
问题描述:
我目前正在使用中的AppDelegate下面的代码做出的UIBarButtonItem充当开关和调节的RootViewController的班布尔变量:的UIBarButtonItem拨动开关布尔
- (void)applicationDidFinishLaunching:(UIApplication *)application {
...
toggleSwitch = [[UIBarButtonItem alloc] initWithTitle:@"English" style:UIBarButtonItemStylePlain target:self action:@selector(togglePress:)];
...
}
然后选择是后话在AppDelegate中:
-(IBAction) togglePress:(id)sender {
RootViewController *viewController;
if (viewController.searchEnglish) {
viewController.searchEnglish = NO;
toggleSwitch.title = @"English";
}
else {
viewController.searchEnglish = YES;
toggleSwitch.title = @"OtherLanguage";
}
}
我基本检查,看看是否从RootViewController的类BOOL设置为YES,如果它被再设置它为NO并将按钮的标题更改为“OtherLanguage”,否则做相反的事。但是,当我运行该程序并单击该按钮时,BOOL变量和标题不会更改,应用程序会冻结并崩溃。我究竟做错了什么?
答
您没有设置在你显示的代码的viewController牛逼Ø什么,你RootViewController的是空...所以ofcourse应用程序会崩溃
答
你正在分配一个新的viewController,设置切换,然后释放它。基本上,你什么都不做。为了完成你想要做的(我认为),删除发布和分配,并将viewController设置为显示切换的实际视图控制器。
当这样的程序似乎当我按下按钮崩溃。 – Kulpreet 2009-07-20 20:41:58