我正在使用UIWebView,並且它在點擊按鈕(從javascript)時彈出警告。還有另一個按鈕(在本機方面),它關閉了控制器,所以也分配了UIWebView。殭屍UIWebView,當它剛剛從javascript調用alert()後釋放時分配
問題是,如果我觸摸UIWebView中的按鈕,並在提示填充之前觸摸關閉按鈕,我的控制器和UIWebView將被釋放,但警報仍會保留在屏幕上。然後,如果我點擊警報,應用程序崩潰的任何按鈕,並給出以下錯誤:
[UIWebView modalView:didDismissWithButtonIndex:]: message sent to deallocated instance
這種方法是從私有方法
[UIModalView(Private) _popoutAnimationDidStop:finished:]
叫我使用ARC,和我的dealloc是這樣的:
- (void)dealloc {
[_myWebView stopLoading];
_myWebView.delegate = nil;
_myWebView = nil;
}
但是,這並沒有解決我的問題,因爲我覺得UIModalView有我的WebView爲代表的參考,我不能將其設置爲無,因爲它的私密性。
我該如何解決?
問候
我無法訪問UIAlertView,因爲它是由UIWebView私下處理的。 – manuyavuz 2013-04-09 11:45:41
您可以掛鉤UIAlertView委託功能。所以你可以保留UIWebView以防止它太早發佈。 – 2017-06-21 06:20:24