消息已发送到解除分配的对象(ARC)

时间:2014-05-31 10:42:25

标签: ios objective-c uitableview uiwebview

在我的应用中,我有一个UITableView,其中我有自定义UITableViewCell,这些单元格包含UIWebView,其中我使用{{1}显示YouTube视频}}。当我点击视频并在全屏播放器打开之前立即滚动表格时,应用程序崩溃了。我尝试<iframe>找到问题并开始了解Instruments

enter image description here

我正在使用ARC而我无法找到解决此问题的方法。

2 个答案:

答案 0 :(得分:1)

您正在向不再存在的对象发送消息。调试该问题的最佳方法可能是尽可能接近地设置断点,然后逐步完成代码。一个好的起点就在您使用AAHomeNewsListCell对象的位置附近,或靠近触发全屏播放器的位置。

答案 1 :(得分:0)

如果我不得不猜测,我会说Web视图正在向其委托发送消息,但代理已经被解除分配。 UIWebViewDelegate附带了这个方便的警告:

  

重要说明:在发布已设置委托的UIWebView实例之前,必须先将UIWebView委托属性设置为nil,然后再处理UIWebView实例。这可以在例如处理UIWebView的dealloc方法中完成。

看着你的僵尸消息,它仍然试图向小区发送信息是什么?您的单元格是否作为Web视图的委托?

修改查看正在发送的邮件,获取_setFirstResponder:。它可能是网络视图中的一个文本输入表单,它试图让第一响应者输入文本。