我有一个导航控制器,它包含一个带有一些按钮的视图,但是当我按下一个按钮时,我得到一个 EXC_BAD_ACCESS 错误。我想不出我做错了什么,因为目标是正确的。无论按钮是通过编程方式添加还是通过 IB 添加,它都会崩溃。
按钮代码:
UIButton *reportsButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
reportsButton.frame = CGRectMake(20, 100, 100, 50);
[reportsButton setTitle:@"Reports" forState:UIControlStateNormal];
[reportsButton addTarget:self action:@selector(reportsButtonTouched:) forControlEvents:UIControlEventTouchUpInside];
功能按钮正在尝试访问:
- (void)reportsButtonTouched:(id)sender
{
NSLog(@"working");
}
错误:
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); //EXC_BAD_ACCESS code=1
}
按钮尝试访问的功能存在。
也许这与我不知道的 NavigationController 的运行方式有关,但我之前已经这样做了,没有任何问题。
感谢您的任何回答,我非常感谢我之前从该站点获得的帮助。
编辑:这是我的 AppDelegates didFinishLaunching 以防万一。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UIViewController *homevc = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:homevc];
[self.window addSubview:nav.view];
[self.window makeKeyAndVisible];
return YES;
}