iphone - 清除委托(delegate)

标签 iphone ios delegates

清除 UIWebView 委托(delegate)的正确方法是什么?

在我的 dealloc 函数中,我添加了

[myWebView setDelegate:nil];
[myWebView release];

第一线是必要的吗?

编辑:如果我的对象不是 UIWebView 而是 NSFetchedResultsController 怎么办?

谢谢

最佳答案

将委托(delegate)设置为 nil 是一回事。其他同样重要甚至更重要的是,如果您不再关心结果并且您将要释放包含您的 UIWebView 的 View ,如何干净地关闭正在加载的 UIWebView。

这里是对上述问题以及更多问题的非常好的答案:How to safely shut down a loading UIWebView in viewWillDisappear? .它将很好地概述 UIWebView 的生命周期。

关于调用 stopLoading 的提示:在调用 stopLoading 之前,您不必使用 isLoading 检查是否正在加载任何内容 - 只需调用stopLoading 直接,如果没有加载任何内容,它什么也不做。

关于iphone - 清除委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7322368/

相关文章:

iphone - 如何在 iPhone/Objective C 上找出 RSA 公钥的模数和指数

iphone - 如何统计iPhone通话语音分钟数

ios - 在 Bubble Tableview cell tap 上读取 NSBubbledata

iphone - 如何检查是否设置了自定义委托(delegate)?

c# - 如何避免将事件提升为封闭形式?

iphone - UIImagePicker StartVideo问题

iphone - UIWebViewNavigationTypeOther 与 UIWebViewNavigationTypeLinkClicked

ios - 核心数据 1 :M relationship 的显示记录

ios - 导航 Controller 为空

ios - 'textFieldDidBeginEditing' 几乎匹配 Swift 中协议(protocol) 'textFieldDidBeginEditing' 的可选要求 'UITextFieldDelegate'