我使用
https://github.com/rs/SDWebImage在UITableView中加载图像.
以下是我在cellForRowAtIndexPath中实现它(简单)的方法
以下是我在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]; } }
任何帮助都非常感谢.
解决方法
你是通过Zombies in Instruments运行这段代码吗?这应该立即指出问题.只需从产品菜单中选择配置文件,仪器将启动,选择Zombie仪器,然后运行导致此问题的测试场景,您应该看到一个僵尸弹出窗口,显示对象如何仍在使用,即使它不再有效.
如果我不得不猜测,你的UITableViewCell没有被正确保留,它会在url加载之前的图像被释放或重复使用.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。