2013-12-20 98 views
0

我在iOS7中發生應用程序崩潰,但在iOS6上工作。在從我的AppDelegate調試下一個代碼時,我檢查了在iOS7中執行了下一個函數,然後加載了模態視圖控制器。ModalView在iOS7中崩潰

- (void)presentModalWebViewWithURL:(NSURL *)url title:(NSString *)title 
{ 
    [self.modalWebViewController dismissModalViewControllerAnimated:YES]; 
    self.modalWebViewController = [[[MyModalWebViewController alloc] initWithURL:url] autorelease]; 
    self.modalWebViewController.title = title; 
    UINavigationController *nav = [self.modalWebViewController modalNavigationControllerWithTarget:self dismissSelector:@selector(dismissModalWebView)]; 
    [self.window.rootViewController presentViewController:nav animated:YES completion:NULL]; 
} 

在iOS6的,我檢查,直到模態視圖控制器被加載的功能停止在最後一行的執行。

iOS7中發生的情況是,當模態視圖控制器試圖加載運行viewWillAppear時,我能夠檢查模態視圖控制器是否更改了所有值,甚至是屬性指向不同類型的對象。我想他們正在被釋放,但我無法弄清楚爲什麼以及如何解決它。有什麼建議麼?

回答

1

當你關閉一個模態視圖控制器時,你應該在顯示視圖控制器的視圖控制器上調用dismiss方法。此外,dismissModalViewControllerAnimated:方法已被棄用,您應該改用dismissViewControllerAnimated:completion:。因此,看着你的代碼,你可能應該調用self.window.rootViewController上的解僱方法,因爲這就是你展示模態視圖的東西。另外,不知道其餘代碼的外觀如何,我假設這是第一次被調用,self.modalWebViewController是零,所以你可能想要檢查是否self.modalWebViewController設置爲某些東西之前,你叫你解僱,還把它設置爲零,無論你什麼時候解僱它。

+0

謝謝高爾文。我得到你的建議,我會深入研究。 –

相關問題