这里我使用facebook api创建一个iPhone应用程序。我已将好友列表及其个人资料图片加载到表格视图中。但现在它的运行缓慢。我想加快图片的加载速度,我该怎么做?
以下是我的示例代码:
- (void)request:(FBRequest*)request didLoad:(id)result {
NSArray* users = result;
for (int ndx = 0; ndx < [users count] ; ndx++)
{
NSDictionary* user = [users objectAtIndex:ndx];
NSString* name = [user objectForKey:@"name"];
NSString *imageName = [user objectForKey:@"pic_big"];
[imageArray addObject:imageName];
[friendsList addObject:name];
}
}
在tableview委托方法中:
imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString: [imageArray objectAtIndex:indexPath.row]]];
image = [[UIImage alloc] initWithData:imageData];
cell.imageView.image =image;
而且图片尺寸也不同。 请帮忙 感谢
答案 0 :(得分:1)
通过使用Lazyloading概念,您可以使其快速运行 只需下载this类进行延迟加载。
很容易被阻止。
#import "UIImageView+WebCache.h" // Import this
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
------------------
------------------
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
cell.textLabel.text = @"My Text";
return cell;
}