UIWebview shouldStartLoadWithRequest委托方法只被调用一次(不一致)

时间:2016-01-29 12:50:01

标签: ios objective-c uiwebview

我将带有一些js代码的本地html模板加载到webview中。它大部分时间都有效。但有时候,shouldStartLoadWithRequest代表会被调用一次,之后就不会被调用。顺便说一句,我在iOS 9.1及更高版本中更加一致地看到了这个问题。

每当出现此问题时,如果我重新创建webview并加载相同的内容,那么它可以正常工作。所以,我想知道它为什么第一次没有工作(不一致)但第二次工作。

我正在打电话

[_webView setDelegate:nil]; 
//and 
[_webView stopLoading]; in dealloc method.

如果有人可以提出建议,会有所帮助。

1 个答案:

答案 0 :(得分:0)

我觉得某个地方你的webView失去了它的代表。所以它可能只是在代码中的某个位置重置它,或者只用nil种子。查看您发布的代码我可以预测这种情况 - 两个实例引用了这个webView。一个实例应该删除并且它调用dealloc方法 - webView委托设置为nil,但是其他实例仍然使用相同的webView,但现在它有委托nil。由于代表是零,因此webView不会向他发送任何消息。这只是我的预测,你应该检查你的代表是否是零,而不是开始新的问题研究。祝你好运。