我正在開發iOS 4 SDK的iPhone 3.1.3應用程序。從iOS 4 SDK上的SuperView中刪除視圖
我有兩個ViewControllers,mainViewController和AboutViewController。
我用這個代碼mainViewController去AboutViewController(內mainViewController.m代碼):
- (IBAction) aboutClicked:(id)sender
{
AboutViewController* aboutController =
[[AboutViewController alloc]
initWithNibName:@"AboutViewController"
bundle:nil];
[self.view addSubview:aboutController.view];
[aboutController release];
}
這從AboutViewController回來mainViewController(內AboutViewController.m代碼):
- (IBAction) backClicked:(id) sender
{
[self.view removeFromSuperview];
}
當我點擊AboutViewController上的後退按鈕時,我得到一個EXC_BAD_ACCESS。
我正在使用基於窗口的應用程序模板。
我也試着在[self.view removeFromSuperview]
上添加一個斷點,但是我不能。
你知道爲什麼嗎?
-1,如果您對此行註釋,您最終會泄漏內存。 – Cyprian
@Cyprian你是對的,但我只是想指出哪些內存釋放導致錯誤,希望問題擁有者將放置替代機制來管理這個內存。現在,我更新了我的答案,告誡這一點。 – Saran
這是正確的答案。如果我釋放ViewController,我會得到一個SIGABRT異常。你是對的!!非常感謝! @Cyprian,你必須考慮刪除你的-1點。謝謝。 – VansFannel