EXC_BAD_ACCESS iOS 7

Posted

技术标签:

【中文标题】EXC_BAD_ACCESS iOS 7【英文标题】:EXC_BAD_ACCESS ios 7 【发布时间】:2013-09-03 07:56:30 【问题描述】:

请帮我找出崩溃的原因。我知道有很多同名的问题,但我找不到解决我的问题的方法。我的问题是我的 ios7 应用程序崩溃(访问错误),旧版本可以正常工作。这是我的代码:

- (void)updateLine:(NSNotification*)notification

    BOOL registered =[(notification.userInfo)[kRADialePushViewNotificationRegistration] boolValue];
    if (!registered) 
        if (self.navigationController) // it crash this line
            [self.navigationController popViewControllerAnimated:YES];
        
    

【问题讨论】:

【参考方案1】:

我发现这里的问题是:self.navigationController 是 nil。但我不知道为什么 ios7 不接受访问 nil navigationController 而我可以在 ios6 或更早版本上进行访问。我的解决方案是检查视图是否是当前视图(这是我的 DND 视图),我调用 popViewController,因为如果视图是当前视图,您可以获得值不为零的 self.navigationController。我的代码是:

- (void)updateLine:(NSNotification*)notification

    BOOL registered =[(notification.userInfo)[kRADialePushViewNotificationRegistration] boolValue];
    if (!registered) 
        if (self.isloaded && self.view.window)
          if (self.navigationController) 
              [self.navigationController popViewControllerAnimated:YES];
           
         
    

【讨论】:

以上是关于EXC_BAD_ACCESS iOS 7的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 设置 UITextView 的文本会引发 EXC_BAD_ACCESS

IOS4.2 应用程序以 EXC_BAD_ACCESS 退出

ios和涉及EXC_BAD_ACCESS的情况

iOS EXC_BAD_ACCESS 问题

iOS EXC_BAD_ACCESS 问题

presentViewController 在 iOS 8 上因 EXC_BAD_ACCESS 而崩溃