dispatch与NSURLRequest配合实现图片下载
来源:互联网 发布:java ssm框架面试重点 编辑:程序博客网 时间:2024/06/05 10:17
这里是功能实现:
typedef void (^GCDBlock2_Obj_Obj) (id object1,id object2);
@implementation GCDHelper
- (void) gcdImageWithURLString:(NSString *) URLString completion:(GCDBlock2_Obj_Obj) completion
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
NSMutableURLRequest *request = [[NSMutableURLRequestalloc] init];
[request setURL:[NSURLURLWithString:URLString]];
[request setHTTPMethod:@"GET"];
NSData *returnData = [NSURLConnectionsendSynchronousRequest:request
returningResponse:nil
error:nil];
[request release];
UIImage *image = [UIImageimageWithData:returnData];
if (image)
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
completion(image, URLString);
});
} else
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
completion(defaultImage, URLString);
});
}
});
}
@end
//这里是使用方法
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
// http://localhost:8888/Imgs/img0.png
// http://theme.blogcn.com/wp-content/themes/coffee-desk/images/rsscoffee.PNG
NSString *imgURLStr = nil;
if ((indexPath.row %2) == 0)
{
imgURLStr = @"http://localhost:8888/Imgs/img0.png";
} else
{
imgURLStr = @"http://localhost:8888/Imgs/img1.png";
}
GCDHelper *hp = [GCDHelpernew];
[hp gcdImageWithURLString:imgURLStr
completion:^(id object1,id object2) {
dispatch_async(dispatch_get_main_queue(), ^{
UITableViewCell *cell = [self.tableViewcellForRowAtIndexPath:indexPath];
[(UIImageView *)[cellviewWithTag:10] setImage:(UIImage *)object1];
});
}];
}
- dispatch与NSURLRequest配合实现图片下载
- iPhone客户端图片下载与缓存的实现
- NSURLRequest
- NSURLRequest
- NSURLRequest
- python实现与八爪鱼图片下载转换器等效的爬虫工具
- tomcat配合实现basic与FORM验证
- RequiredFieldValidator与RangeValidator配合实现日期验证
- SqlDataAdapter配合DataGridView实现与数据库交付
- tomcat配合实现basic与FORM验证
- tomcat配合实现basic与FORM验证
- ViewPager与PagerAdapter配合实现Tab效果
- java 实现图片下载
- 商品图片下载实现
- ASIHTTPRequest库实现图片下载
- Android实现图片下载
- jsoup实现网页图片下载
- NSURLSession实现图片下载
- servlet
- Android编程之横屏竖屏切换及状态保存
- qt学习笔记(二) QString
- 保存和恢复activity的状态数据
- BorderlessPtex
- dispatch与NSURLRequest配合实现图片下载
- Android将activity设置为弹出式的并设置为透明的
- canvas相关(渐变、阴影、path)
- 无法解决equal to 操作中"Chinese_PRC_CI_AS" 和"Chinese_PRC_CI_AS_KS" 之间的排序规则冲突。
- QT源码解析
- 微信公众帐号消息帐号
- 将Android工程做成jar包和资源文件
- Android使用自定义AlertDialog(退出提示框)
- linux下的VNC 客户端:vnc_client