Sdwebimage EXC_BAD_ACCESS

时间:2011-09-06 16:33:50

标签: ios uitableview exc-bad-access

我正在使用https://github.com/rs/SDWebImage在UITableView中加载图片。 以下是我在cellForRowAtIndexPath

中实现它(简单)的方法
[cell.imageView setImageWithURL:[NSURL URLWithString:[item valueForKey:@"icon"]]placeholderImage:[UIImage imageNamed:@"icon_events_default.png"]];

在UITableView中加载图像后,我向下滚动,然后再向上滚动,我收到错误:EXC_BAD_ACCESS

- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder
{ 
  SDWebImageManager *manager = [SDWebImageManager sharedManager];

  // Remove in progress downloader from queue
  [manager cancelForDelegate:self];

  UIImage *cachedImage = [manager imageWithURL:url];

  if (cachedImage)
  {   
    //EXC_BAD_ACCESS hapens here   
    self.image = cachedImage;
  }
  else
  {
    if (placeholder)
    {
        self.image = placeholder;
    }

    [manager downloadWithURL:url delegate:self];
  }
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您是否通过仪器中的Zombies运行此代码?这应该立即指出问题。只需从产品菜单中选择配置文件,仪器将启动,选择Zombie仪器,然后运行导致此问题的测试场景,您应该看到一个僵尸弹出窗口,显示对象如何仍在使用,即使它不再有效

如果我不得不猜测,你的UITableViewCell没有被正确保留,并且在网址加载之前,它会被释放或重复使用。