我对 tableviewcell ( exc_bad_access ) 的内存管理有疑问。
我的一个tableviewcell包括一个加载异步 html 数据(loadHTMLString方法)的 uiwebview ,并且当前控制器被设置为其委托。
当我从导航控制器弹出 tableviewcontroller 太快时,应用程序崩溃。
在我看来,这就是它失败的原因:
- 如果在控制器之前单元释放 => 一切正常,委托仍然有效,我什至可以在其自己的 dealloc 方法中将其委托设置为 nil
- 如果在控制器之后单元释放(我猜测是因为表视图单元格是自动释放的)=> 应用程序崩溃是因为它的委托仍然设置为已释放的控制器
知道如何正确解决这个问题吗?谢谢..
cellForRowAtIndexPath 中的代码:
...
CustomTableViewCell * cCell = (CustomTableViewCell*)cell;
cCell.myWebView.delegate = self;
[[cCell myWebView] loadHTMLString:html baseURL:baseURL];
....