将图像添加到Tableview

时间:2012-02-02 13:52:56

标签: iphone objective-c

我正在使用SDWebImage用图像填充我的Tableview(下载并显示)。

我所做的是我在我的项目中包含了库,然后添加了其GitHub项目网站中提到的nessasry框架。

然后我添加了#import "UIImageView+WebCache.h"导入和代理SDWebImageManagerDelegate

cellForRowAtIndexPath方法中,我添加了以下内容;

CustomCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

 if (cell == nil) {
 cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

 [cell.animalImageView  setImageWithURL: [NSURL URLWithString:animal.imageURL]
                                        placeholderImage:[UIImage imageNamed:@"imagenotfound.png"]];

}

我认为这可以完成其项目网站

中描述的所有内容
  

UIImageView类别,将Web图像和缓存管理添加到   Cocoa Touch框架异步图像下载器异步   具有自动缓存到期处理的内存+磁盘映像缓存A.   保证不会多次下载相同的URL A.   保证不会一次又一次地重试伪造的URL   表演!

但是,当我在手机上运行应用程序时,滚动速度很慢。然后当我向上和向下滚动一段时间时,它几乎卡住(但它仍然滚动)。

有人可以通过我的代码,并告诉我我错过了什么。几天来我一直坚持这个问题。帮助

}

3 个答案:

答案 0 :(得分:1)

以下是我的想法: 你在使用[tableView dequeueReusableCellWithIdentifier:MyIdentifier];  方法还是你为每一行创建一个新的单元格? 电池没有自动释放。 图像和默认图像有多大?

答案 1 :(得分:1)

您应该将指定图像语句放在检查nil条件之外

if (cell == nil) 
{
 cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

[cell.animalImageView  setImageWithURL: [NSURL URLWithString:animal.imageURL]
                                        placeholderImage:[UIImage imageNamed:@"imagenotfound.png"]];

答案 2 :(得分:0)

此外,您可以尝试声明NSMutableArray并将UIImage存储在那里,因此滚动时不必下载两次