我在自定义的uitableviewcell里使用了asihttprequest来异步加载列中的图片
但当我快速滑动数据列时出现错误
现在我分析应该是在cell被划出屏幕释放后 request进行了didfinished处理 导致错误
我想在tableviewcell中的delloc事件中对request进行cancel 但一直报错
不知思路是否正确,请教应该如何实现呢?

解决方案 »

  1.   

    试试把delegate 置为nil
      

  2.   

    我把变量request写到类声明里了 在delloc中调用request.isFinished就报错 无法设置
      

  3.   

    不是设置这个是 reguest.delegate = nil;
      

  4.   

    [request clearDelegatesAndCancel];
    取消请求并重置delegate
      

  5.   

    //request 释放
    - (void)dealloc 
    {    
    [request clearDelegatesAndCancel];   
     [request release];    
    ...    
    [super dealloc];
     } 
    tableviewcell中的delloc的事件。你request释放是再哪?是不是先后顺序反掉了。在delloc中调用request.isFinished   看看是不是 生命周期的先后问题弄错了。
      

  6.   

    uitableview 对于自己的cell有重复利用机制,滑出平外是不会调用cell的delloc方法。