问题产生环境:
点击tableView的某一行,APP执行耗时操作,在耗时操作结束之前用户点击了返回按钮,tableView被销毁,但是此时tableViewCell因为是强引用,并不会立即销毁,而是会等耗时操作完成后,继续执行耗时操作下面的操作,直到所有操作完成后,tableViewCell才会被销毁;
解决办法:
在耗时操作结束时,给tableViewCell创建一个弱引用对象,当tableView销毁的时候,tableViewCell也会被销毁
__weak typeof(self) weakSelf = self;
//需要注意的是:在这之后的程序中都需要用 weakSelf 代替 self
-----耗时操作-------
if(weakSelf == nil) return;
//其他操作