我正在使用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];
}
}
非常感谢任何帮助。
答案 0 :(得分:1)
您是否通过仪器中的Zombies运行此代码?这应该立即指出问题。只需从产品菜单中选择配置文件,仪器将启动,选择Zombie仪器,然后运行导致此问题的测试场景,您应该看到一个僵尸弹出窗口,显示对象如何仍在使用,即使它不再有效
如果我不得不猜测,你的UITableViewCell没有被正确保留,并且在网址加载之前,它会被释放或重复使用。