私はUIWebViewを使用していますが、ボタンがクリックされると(javascriptから)アラートが表示されます。コントローラーを閉じる別のボタン (ネイティブ側) があるため、UIWebView の割り当ても解除します。
問題は、UIWebView のボタンをタッチして、アラートが生成される前にタッチしてボタンを閉じると、コントローラーと UIWebView の割り当てが解除されますが、アラートが画面に残ります。次に、アラートで任意のボタンをクリックすると、アプリケーションがクラッシュし、次のエラーが発生します。
[UIWebView modalView:didDismissWithButtonIndex:]: message sent to deallocated instance
そして、このメソッドはプライベートメソッドから呼び出されます
[UIModalView(Private) _popoutAnimationDidStop:finished:]
私は ARC を使用しており、私の割り当て解除は次のようになります。
- (void)dealloc {
[_myWebView stopLoading];
_myWebView.delegate = nil;
_myWebView = nil;
}
しかし、これは私の問題を解決しません。なぜなら、UIModalView には私の webview をデリゲートとして参照していると思うからです。それは非公開であるため、nil に設定できませんでした。
どうすれば解決できますか?
よろしく