ios - UIBarButtonItem 让我的 iPhone 应用崩溃

标签 ios memory crash uibarbuttonitem automatic-ref-counting

我正在做一个项目,我正在尝试以编程方式尽我所能。

我必须将 UIBarButtonItem 添加到在 App Delegate 中创建的 NavigationController 的导航栏。

WPViewController *mainVC = [[WPViewController alloc] initWithNibName:@"WPViewController_iPhone" bundle:nil];
UINavigationController *navCon = [[UINavigationController alloc] init];        
[navCon pushViewController:mainVC animated:NO];
[self.window addSubview:navCon.view];      

然后在此处声明的 WPViewController 的实现文件中,我创建并添加了 barbuttonitem 作为 VC 的导航项:

UIBarButtonItem *rBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(test)];
self.navigationItem.rightBarButtonItem = rBarButtonItem;

在此之前声明了一个名为 test 的方法,它只记录“test”,但是当我单击该按钮时,应用程序崩溃了。

请帮帮我,这个错误快把我逼疯了。

注意事项:

  • 我在我的项目中使用 ARC
  • 以前从未遇到过类似的错误

最佳答案

ARC 中的“发送到释放实例的消息”意味着编译器在您的消息可以发送之前已经标记并释放了您的项目。

在调试器中设置 NSZombieEnabled、MallocStackLogging 和 guard malloc。然后,当您的应用程序崩溃时,在控制台中输入:

(gdb) info malloc-history//崩溃对象的地址即0x543216//

关于ios - UIBarButtonItem 让我的 iPhone 应用崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8248663/

相关文章:

c - 第二次调用 ANSI C printf 时输出错误

java内存不足问题

ios - 如何更新手机 gap-app (iOS)

iphone - iOS - mp3 文件无法播放,没有错误?

windows - 非托管 VC++ 应用程序在 Windows 服务器上的内存消耗

crash - 如何使用 [[UIApplication sharedApplication] valueForKey : @"statusBar"] on ios13? 获取 wifi 信号强度

android - Tux Rider 编译但在启动时崩溃

iPad 应用程序在启动时崩溃 : Help me analyze this crash log

ios - 适用于 IOS 8 的 Google map SDK 不更新位置

ios - CALayer - 将子层放在 Storyboard UIButtons 下方?