2011-04-25 42 views
2

我有一個視圖控制器包含四個按鈕..點擊每個按鈕帶你到新的視圖控制器包含網絡view.everything工作正常,除非點擊按鈕..它帶你到Web視圖如果IM導航回到應用程序退出...在調試模式下我已經得到了DIS例外EXC_BAD_ACCESS ...以下是代碼...異常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]; 
} 

回答

4

你在dealloc中發佈webView嗎?你是否使用webview的任何委託方法?

結賬NSZombieEnabled爲您的活動可執行文件,以查看有關訪問不良的更多信息。

這些任務不會沒有的高德/性能申報工作:

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!

+0

我已經發布了我的webview在dealloc中...我沒有使用任何delgate..just上面的代碼..但仍然得到EXC_BAD_ACCESS – kingston 2011-04-25 10:02:26

+0

那麼你有沒有設置NSZombieEnabled爲YES?在控制檯上有什麼新東西? – 2011-04-25 10:07:53

+0

使用nszombie得到了消息 - [CFURL發佈]:消息發送到釋放實例0x6317940 ... cudü幫我出 – kingston 2011-04-25 10:12:31

1

您嘗試訪問的東西,已經被釋放。

啓用NSZombie找出在哪裏。

+0

我得到了dis消息... [CFURL發佈]:消息發送到釋放實例0x6317940 ... cud你幫我出 – kingston 2011-04-25 10:13:09

+0

@ user652878你釋放'url2'某處,但你不應該因爲它是autoreleased。 – 2011-04-25 10:26:51

0

您可能會在您的WebViewFaceBook控制器中發佈url2dealloc方法。

requestObj2, url2, urlAddress2已經autoreleased。你不能釋放他們在dealloc