清除UIWebView委托的正确方法是什么?
在我的dealloc功能中,我添加了
[myWebView setDelegate:nil];
[myWebView release];
并且是第一个必要的吗?
编辑:如果我的对象不是UIWebView而是NSFetchedResultsController
?
由于
答案 0 :(得分:0)
如果是上面的代码。不,您可能不需要清除代表。
但是,如果你有ClassA和ClassB,并且你已经将ClassA设置为ClassB的委托,那么你需要注意的是......当ClassA在ClassB仍在使用时被释放。
因此,为了处理这个问题,ClassA将在ClassA的dealloc
方法中从ClassB的delegate属性中清除(本身)。
答案 1 :(得分:0)
我认为您只需在发布之前取消所有请求:
[webView stopLoading];
干杯!
答案 2 :(得分:0)
将委托设置为nil是一回事。其他,非常重要甚至更重要的是,如果您不再关心结果并且即将发布包含UIWebView的视图,如何干净地关闭加载的UIWebView。
以上问题及其他问题的答案非常好:How to safely shut down a loading UIWebView in viewWillDisappear?。它将对UIWebView的生命周期进行很好的概述。
有关致电stopLoading
的提示:在致电isLoading
之前,您无需检查是否正在使用stopLoading
加载任何内容 - 只需直接致电stopLoading
即可如果没有加载什么都不做。