对于目前版本的系统的网络请求 网上不少东西都比较乱,现整理NSURLSession 的基本用法。php
//1.获取文件访问的路径 接口ios
NSString *path=@"http://1.studyios.sinaapp.com/getAllClass.php";json
//2.封装 URL网络
NSURL *url=[NSURL URLWithString:path];session
//3.建立请求命令app
NSURLRequest *request=[NSURLRequest requestWithURL:url];url
这是以前的老方法 NSURLConnection 对象
//4.响应的对象接口
__autoreleasing NSURLResponse *response;get
//5.错误信息
__autoreleasing NSError *error;
//*6.经过同步请求的方式 返回 data 对象 方法不能用 要用新方法
NSData *data= [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
//7.json解析
NSArray *arrJson=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];
NSLog(@"%@",arrJson);
目前版本的NSURLSession 的一些基本用法
//4.建立会话对象 经过单例方法实现的
NSURLSession *session=[NSURLSession sharedSession];
//5.执行会话任务 经过request请求 获取 data对象
NSURLSessionDataTask *task= [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error)
{
//7.json解析
NSArray *arrJson=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];
NSLog(@"%@",arrJson);
}];
//6.真正的执行任务 resume 继续
[task resume];