网络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];

posted @ 2016-04-06 21:42  王权  阅读(161)  评论(0编辑  收藏  举报