对于目前版本的系统的网络请求 网上很多东西都比较乱,现整理NSURLSession 的基本用法。
//1.获取文件访问的路径 接口
NSString *path=@"http://1.studyios.sinaapp.com/getAllClass.php";
//2.封装 URL
NSURL *url=[NSURL URLWithString:path];
//3.创建请求命令
NSURLRequest *request=[NSURLRequest requestWithURL:url];
这是之前的老方法 NSURLConnection
//4.响应的对象
__autoreleasing NSURLResponse *response;
//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];