所以我正在开发一个应用程序,其中包含一个包含单元格中图像的表格视图。我从URL下载所有这些图像并将它们存储在一个数组中。我需要异步加载这些图像,所以我决定使用NSURLConnectionDataDelegate。我试过这段代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
NSUInteger row = [indexPath row];
NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:[URLsArray objectAtIndex:row]]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (theConnection) {
receicedData = [[NSMutableData alloc] init];
} else {
NSLog(@"Failed.");
}
return cell;
}
但它不起作用。我不知道写些什么:
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
将图像设置为单元格中的imageViews。有人可以帮忙吗?
答案 0 :(得分:6)
我强烈建议您使用AFNetworking
,因为它会解决这些问题。
至少,请查看他们的UIImageView
category因为它允许您这样做:
UIImageView *imgView = //alloc, get it from a nib, whatever;
[imgView setImageWithURL:[NSURL URLWithString:@"StringPath"]];
答案 1 :(得分:0)
对于更简单的解决方案,我建议使用Cached Image for iOS。这是一段简单的代码,您可以将其添加到xcode项目中,它可以满足您的需求(+支持缓存)。