UIBarButtonItem *rButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:NULL];
rButton.action = @selector(refreshAction);
self.navigationItem.rightBarButtonItem = rButton;
[rButton release];
上面的代码可以很好地创建一个按钮并将其添加到导航栏,但是当我单击该按钮时,它会使用 EXC_BAD_ACCESS 使应用程序崩溃。如果我注释掉 rButton.action = @selector(refreshAction); 单击按钮不会执行任何操作,但也不会崩溃。
- (void)refreshAction {
NSLog(@"refreshAction");
}
此代码位于 TableViewController 的 viewDidLoad 方法中,该方法从 NavigationViewController viewDidLoad 方法推送到 navigationController 堆栈中。
我花了大约 3 个小时试图让它工作,但无济于事。