是否有必要这样做:
[webView stopLoading];
self.webView = nil;
或者,我可以省略第一行吗?即-[UIWebView dealloc]
为您致电-stopLoading
吗?
答案 0 :(得分:4)
-stopLoading
可能是必要的,因为加载是在保留uiwebview的单独线程中完成的(作为web-request afaik的回调)。如果您发布uiwebview(例如,使用-viewDidUnload
方法),我非常确定它会停止加载,但当它停止加载时,它将调用其委托。
如果你没有设置yourWebView.delegate = nil
,这将失败,因为delegate属性被定义为assign-property,因此不会保留你的委托对象(很可能是uiviewcontroller) 。不将委托设置为nil将导致EXEC_BAD_ACCESS(您实际上可以杀死一些应用程序,您可以在这些应用程序之间快速切换包含Web视图的子视图 - 它们在完成加载之前就会被释放并尝试调用僵尸代理)。同样适用于MKMapView!
答案 1 :(得分:0)
网页视图将停止加载,您无需调用stopLoading。但它并没有停止在dealloc中。我认为它从超级视图中删除时会停止。