我一直在撓頭,現在很長一段時間,試圖解決這個問題。我搜索了StackOverflow,發現有人要求類似this question和this question的問題,但沒有給出的答案對我有幫助。EXC_BAD_ACCESS當解散modalViewController iOS5
爲了具體說明該問題:
- 我使用蘋果的尋呼例子,使視圖控制器之間的尋呼
觀層次結構如下:一個UIWindow - >的UIScrollView(MainController) - > UIViewControllers。
我使用此代碼創建一個委託到ViewController包含的UIScrollView:
if(page == 0) { ContractsViewController *controller = [viewControllers objectAtIndex:page]; if ((NSNull *) controller == [NSNull null]) { controller = [[ContractsViewController alloc] initWithNibName:@"ContractsView" bundle:nil]; controller.delegate = self; [viewControllers replaceObjectAtIndex:page withObject:controller]; [controller release]; } // add the controller's view to the scroll view if (controller.view.superview == nil) { CGRect frame = scrollView.frame; frame.origin.x = frame.size.width * page; frame.origin.y = 0; controller.view.frame = frame; controller.view.tag = 0; [scrollView addSubview:controller.view]; } }
問題狀態出現,當我嘗試從我的ViewController呈現滾動視圖內modalviewcontroller使用委託。它工作了幾次,但然後給了我一個EXC_BAD_ACCESS。我也嘗試發佈通知,並在MainController中創建一個監聽器,以這種方式呈現,但仍然是同樣的問題。
在iOS 4.3中測試時,一切都像魅力一樣,但在iOS5中,我遇到了問題。
我希望有人能幫我擺脫這個問題。
預先感謝您。
你有沒有嘗試在Xcode中設置殭屍檢測?您的問題可能與內存釋放相關,只是您嘗試將消息發送到釋放的代理的猜測。 – Leonardo 2012-03-08 10:17:29
是的,我有,但NSZombie不給我任何反饋 – Krueger 2012-03-08 10:46:39
你如何得到viewControllers?你有沒有放置一些斷點?你在什麼路線變得bad_access?你如何稱呼模態視圖? – Leonardo 2012-03-08 10:53:58