毎回ロードしていない:私は押した場合のUIWebViewは、私は同じエラーを取得するのUIWebView上の別のURLをロードしようとする新しいURL
@IBAction func changeUrl(sender: UIButton) {
if LEDON {
let urlStr = NSString(format: "%@/?Led=0", self.url)
let req = URLRequest(url: URL(string: urlStr as String)!)
webView.loadRequest(req)
while(webView.isLoading) {
sender.isEnabled = false
}
sender.isEnabled = true
LEDON = false;
} else {
let urlStr = NSString(format: "%@/?Led=1", self.url)
let req = URLRequest(url: URL(string: urlStr as String)!)
webView.loadRequest(req)
while(webView.isLoading) {
sender.isEnabled = false
}
sender.isEnabled = true
LEDON = true;
}
}
:WebViewのについての私のコードは次のようである
SendDelegateMessage(NSInvocation *): delegate (webView:decidePolicyForNavigationAction:request:frame:decisionListener:) failed to return after waiting 10 seconds.
をUIButtonは初めてのコードでは完全に動作しますが、再度タップするとエラーになります。 どこが間違っていますか?
コード内の "url"変数はグローバル変数であり、私はすでにそれが正しいことを確認しています。
あなたは{偽= sender.isEnabled}このしばらく(webView.isLoading)を使用する必要はありません。メインスレッドをフリーズし、アプリケーションが要求に対して応答できません。これにはデリゲートメソッドを使用する必要があります。 – Sergey
whileループが終了すると、送信者は再びアクティブになります。私がアクションを再度呼び出すと、webViewはロードされませんが、ボタンは機能します。 – Francesco