uitableview
UitableViewcell
客户Uiimageview
我的单元格保留在Url
我使用UIimageView
将图片加载到我的- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ActusCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
NSDictionary *tmpDict = [_MyArray objectAtIndex:indexPath.row];
dispatch_async ( dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0ul), ^{
act_Image=[NSString stringWithFormat:@"http://www.exemple.com/act/%@%@",[tmpDict objectForKey:@"id"],@".jpeg"];
NSURL * imageURL = [ NSURL URLWithString :act_Image ];
NSData * imageDataUrl = [ NSData dataWithContentsOfURL : imageURL ];
dispatch_async ( dispatch_get_main_queue (), ^ {
[cell.myimage setImage:[UIImage imageWithData:imageDataUrl]];
});
});
return cell;
}
,因此在桌面视图中滚动我的应用崩溃
我的代码来源:
{{1}}
N.B:URl中的图像大小为1.2MB
答案 0 :(得分:1)
我认为您应该异步加载图像并将其保存在缓存中。因为有太多可用的第三方源。我发现这是最好的 -
1。https://github.com/nicklockwood/AsyncImageView 2。https://github.com/rs/SDWebImage
答案 1 :(得分:0)
问题是由您的调度引起的。他们永远不会取消。
在重复使用单元格时,您应该考虑开始使用NSOperation
和NSOperationQueue
,取消它正在执行的操作。