我有一个包含四个按钮的 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/