您的位置:首页 > 移动开发 > IOS开发

NSURLConnect 的简单实用(iOS8淘汰)

2016-01-13 20:41 399 查看
Demo_1 NSRULConnection

NSRULConnection

苹果公司在ios8已经抛弃了,但是我还是要讲一下,因为这和后面的NSSession有着密切的联系

下面开始使用步骤:

1. 创建发送的请求

NSRequest 在这个请求中要加入你要访问的URL,其实这就是一种包装,将URL放在请求中

2. 接受放回来得数据

使用connectionWithRequest 方法将返回一个NSData类型的数据

Demo如下

//这里的url是一个网页地址

self.url=[NSURL URLWithString:self.urlTextField.text];

//创建NSURLRequest

NSURLRequest *request=[NSURLRequest requestWithURL:self.url];

//使用NSURLConnection发送同步请求

NSError *error=nil;

NSData*returnData=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];

//显示到webView上

[self.webView loadData:returnData MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:self.baseURL];

重要的是其中封装信息的思想

self.url=[NSURL URLWithString:self.urlTextField.text];

NSURLRequest *request=[NSURLRequest requestWithURL:self.url];

//发送异步请求

NSOperationQueue *queue=[[NSOperationQueue alloc]init];

[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {

//子线程执行

//获取response中的状态码(200/404/500/....)

NSInteger statusCode = [(NSHTTPURLResponse*)response statusCode];//这里格式要做转换

if (statusCode==200) {

//返回成功

NSLog(@"返回成功");

//回到主线程加载到webview 凡是UI的都要放到主线程执行

dispatch_async(dispatch_get_main_queue(), ^{

[self.webView loadData:data MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:self.baseURL];

});

}else{

NSLog(@"失败:%@",connectionError.userInfo);

}

}];

}

思路总结:

1.建立请求

2.发送请求

3.接受放回数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: