我在iPad App中有一个非常奇怪的内存泄漏。
我有一个导航控制器应用程序,通过单击主控制器上的按钮,我推送一个ViewController,这个视图控制器有一个UIWebView。使用IBOutlet连接到NIB文件。
@interface MyViewController : UIViewController {
IBOutlet UIWebView *webview;
}
当用户触摸它时,在Webview中开始播放YouTube视频。
现在,当我点按返回按钮时,我会再次弹出视图控制器。
出现问题,视频没有停止播放,原因是UIWebView实例仍然存在,为此我在dealloc方法中检查了它的保留计数,它显示2,但它应该是1.我有在我的代码中根本没有保留它。
这里出现了奇怪的东西,仅仅是为了测试我在对象上发布的版本,这次视频停止了播放。
我知道这不是正确的事情,但没有答案为什么会发生这样的事情。
对我哪里出错的任何评论。
由于
答案 0 :(得分:0)
要考虑两点:
如何分配和发布MyViewController?当您按下视图控制器时,它将再次保留。您可以在代码中的那一点实际发布它。
在弹出MyViewController之前,尝试将webview的委托设置为nil。