NSURLConnect 的简单实用(iOS8淘汰)

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.接受放回数据

posted @ 2016-01-13 20:41  严_青  阅读(395)  评论(0编辑  收藏  举报