


//
// ViewController.m
// get异步网络请求
//
// Created by YIem on 16/3/1.
// Copyright © 2016年 YIem. All rights reserved.
//
import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor cyanColor];
UIButton *getButton = [UIButton buttonWithType:UIButtonTypeSystem];
getButton.frame = CGRectMake(100, 100, 100, 100);
[getButton setTitle:@"get网络请求" forState:UIControlStateNormal];
[getButton addTarget:self action:@selector(getAction) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:getButton];
}
(void)getAction
{
// 网络链接
NSString *urlStr = @"http://api.map.baidu.com/place/v2/search?query=银行®ion=大连&output=json&ak=6E823f587c95f0148c19993539b99295";
// 当网址中有未明字符(如中文)时进行转码
NSString *urlEncode = [urlStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];NSURL *url = [NSURL URLWithString:urlEncode];
// 请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 配置(默认配置)
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
// 创建请求任务, 当异步请求完成时会调用block
NSURLSessionDataTask getTask = [session dataTaskWithRequest:request completionHandler:^(NSData _Nullable data, NSURLResponse _Nullable response, NSError _Nullable error) {NSMutableDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; NSLog(@"--%@", dic);}];
// 开始任务
[getTask resume];
}- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end