0

iPad プログラミング、IOS6。を使用して、バンドルされた html ファイルにロードする(UIWebView *)helpview オブジェクトを取得しました

[helpView loadHTMLString:htmlString baseURL:baseURL];

正常に読み込まれ、html ファイルには、 <a href="didTap://touchme">here</a>ハイパーリンクのタッチを有効にして処理するための があります。

NSURLRequest を起動して外部 Web サイトを取得し、元の html ファイルに戻ると、html ファイルのアンカー タグが機能せず、次のエラーが発生することを除いて、すべて正常に機能します。

WebKit が webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate: setObjectForKey: key cannot be nil でキャッチされていない例外を破棄しました

IOS プログラミングが webkit を使用するとは思わなかったのに、なぜこのエラーが表示されるのですか? アンカータグを復元するにはどうすればよいですか?

興味深いことに、IBOutlet を使用してずっと保持する代わりに、UIWebView オブジェクトを解放して再作成すると、すべて正常に動作します。しかし、それは私が理解できないUIWebview保持カウントに関する他の問題を引き起こしました。

4

2 に答える 2

0

アプリケーションのどこかでカスタム NSURLProtocol を使用していますか? UIWebView を使用する同じコードに登録されていないか、loadRequest: の呼び出し後に登録されている可能性がありますが、リクエストが非同期に読み込まれるため (私は信じています)、干渉する可能性があります。コード内のどこかを検索し[NSURLProtocol registerClass、それらをすべて無効にして、問題が解決するかどうかを確認してください。その場合、ソリューションはカスタム プロトコル コードの例外を修正する可能性があります。

于 2013-03-01T15:31:21.787 に答える