objective-c - 异常 EXC_BAD_ACCESS

标签 objective-c xcode

我有一个包含四个按钮的 View Controller 。单击每个按钮会将您带到包含 Web View 的新 View Controller 。除了单击按钮时,一切正常。如果我要导航,它会将您带到 Web View 返回应用程序退出...在 Debug模式下我遇到异常 EXC_BAD_ACCESS...下面是代码...

-(IBAction)Button1
{

WebViewFaceBook *newEnterNameController4 = [[WebViewFaceBookalloc]initWithNibName:@"WebViewFaceBook" bundle:[NSBundle mainBundle]];

    [[self navigationController] pushViewController:newEnterNameController4 animated:YES];

[newEnterNameController4 release];

}


- (void)viewDidLoad {
    [super viewDidLoad];

    //[UIApplication sharedApplication].networkActivityIndicatorVisible=YES;
    urlAddress2 = @"http://www.facebook.com/livingwaterscf";

    url2 = [NSURL URLWithString:urlAddress2];

    requestObj2 = [NSURLRequest requestWithURL:url2];

    [webViewFaceBook loadRequest:requestObj2];
}

最佳答案

你是否在dealloc中释放了webView?您是否使用了 webview 的任何委托(delegate)方法?

结账 NSZombieEnabled让您的事件可执行文件查看有关错误访问的更多信息。

如果没有 ivars/properties 的声明,这些分配将无法工作:

urlAddress2 = @"http://www.facebook.com/livingwaterscf";

url2 = [NSURL URLWithString:urlAddress2];

requestObj2 = [NSURLRequest requestWithURL:url2];

您能否向我们展示您的头文件中这些内容的定义?

编辑

将 urlAddress2、url2 和 requestObj2 的声明更改为保留属性,并使用 self.urlAddress2 = xxx 设置它们,然后您可以在 dealloc 中释放它们。类方法以及@"http://www.facebook.com/livingwaterscf" 返回自动释放的实例。如果你想拥有它们,你必须保留它们,然后才应该释放它们。

如果您不想拥有它们,并且在这种情况下,我认为您在其他地方不需要它们,然后开始加载 webview 的内容,请不要在 dealloc 中释放它们!

关于objective-c - 异常 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5777134/

相关文章:

objective-c - 如何将未知大小的二维数组作为方法参数传递

在 iOS 9 中设置 UIWindow rootViewController 后 iOS 应用程序崩溃

ios - 为什么xcode中的图像在运行时占用的空间比实际大小多50倍

ios - 在 xcode 上管理视觉 Assets (引用、复制或两者)?

ios - 在不损失质量的情况下在 Objective-C 中截取屏幕截图

ios - 在 GCD block 中捕获 NSJSONSerialization 时出错

ios - 枚举一个数组寻找另一个数组中的项目的高效方法

iphone - 奇怪的 LLVM 警告 : no previous prototype for function for

ios - API调用去哪个文件?

ios - 如何使 xib subview 与 Swift 中的 super View 交互?