我目前在 AppDelegate 中使用以下代码使 UIBarButtonItem 充当开关并调整 RootViewController 类中的 BOOL 变量:
- (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 变量和标题没有改变,应用程序冻结并崩溃。我究竟做错了什么?