任何人都知道为什么我推/弹localSearchViewController,我得到一个EXC_BAD_ACCESS错误后像5推/弹
if (localSearchViewController == nil)
localSearchViewController = [[LocalSearchViewController alloc] init];
CBAAppAppDelegate *app = (CBAAppAppDelegate *) [[UIApplication sharedApplication] delegate];
[app.navBarController.navigationBar setHidden:YES];
[app.navBarController pushViewController: localSearchViewController
animated:YES];
答案 0 :(得分:0)
我不知道这是否是导致崩溃的原因,但除非您覆盖了视图控制器的init方法,否则您应该使用其指定的初始化程序:
- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle
如果您在实现文件中定义了此方法,请确保您也在其上调用super。
如果这不能解决您的问题,您是否可以尝试通过此方法在localSearchViewController中设置断点来准确找到代码崩溃的位置。这很可能是代码中某处的过度发布问题。
[编辑添加]
以下是初始化视图控制器的代码应如下所示:
localSearchViewController = [[LocalSearchViewController alloc] initWithNibName:@"YourNibName" bundle:nil];
答案 1 :(得分:-1)
用花括号括起来。
if (localSearchViewController == nil) {
localSearchViewController = [[LocalSearchViewController alloc] init];
CBAAppAppDelegate *app = (CBAAppAppDelegate *) [[UIApplication sharedApplication] delegate];
[app.navBarController.navigationBar setHidden:YES];
[app.navBarController pushViewController: localSearchViewController
animated:YES];
}