网络NSURLSession
Posted 王权
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络NSURLSession相关的知识,希望对你有一定的参考价值。
简单下载图片
dispatch_queue_t queue =dispatch_queue_create(NULL, DISPATCH_QUEUE_CONCURRENT);
dispatch_async(queue, ^{
//1.获取网址字符串
NSString * urlString = @"http://www.bz55.com/uploads/allimg/121230/1-121230094954.jpg";
//2.NSString->NSURL
NSURL * url = [NSURL URLWithString:urlString];
//3.同步下载
NSData * data = [NSData dataWithContentsOfURL:url];
UIImage * image = [UIImage imageWithData:data];
dispatch_sync(dispatch_get_main_queue(), ^{
self.view.backgroundColor = [UIColor colorWithPatternImage:image];
});
});
NSURL
NSString * urlString = @"http://www.bz55.com/uploads/allimg/121230/1-121230094954.jpg";
NSURL * url = [NSURL URLWithString:urlString];
NSLog(@"Scheme: %@", [url scheme]);
NSLog(@"Host: %@", [url host]);
NSLog(@"Port: %@", [url port]);
NSLog(@"Path: %@", [url path]);
NSLog(@"Relative path: %@", [url relativePath]);
NSLog(@"Path components as array: %@", [url pathComponents]);
NSURLSession
NSString * urlString = @"http://www.bz55.com/uploads/allimg/121230/1-121230094954.jpg";
NSURL * url = [NSURL URLWithString:urlString];
NSURLSessionConfiguration * defaultConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
defaultConfig.timeoutIntervalForRequest = 20;
defaultConfig.timeoutIntervalForResource = 60;
defaultConfig.allowsCellularAccess = NO;//只能用wifi
NSURLSession * session = [NSURLSession sessionWithConfiguration:defaultConfig];
NSURLSessionDataTask * datatask =[session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSLog(@"%@",[NSThread currentThread]);
}];
[datatask resume];
以上是关于网络NSURLSession的主要内容,如果未能解决你的问题,请参考以下文章