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.接受放回数据
NSURLConnect 的简单实用(iOS8淘汰)的更多相关文章
- jQuery的几种简单实用效果
许久未分享博客,或许已生疏. 闲来无事, 分享几个jQuery简单实用的效果案例 不喜勿喷... 1.页面常用的返回顶部 <!DOCTYPE html> <html lang=&qu ...
- 经验分享:10个简单实用的 jQuery 代码片段
尽管各种 JavaScirpt 框架和库层出不穷,jQuery 仍然是 Web 前端开发中最常用的工具库.今天,向大家分享我觉得在网站开发中10个简单实用的 jQuery 代码片段. 您可能感兴趣的相 ...
- 简单实用的PHP防注入类实例
这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下 本文实例讲述了简单实用的PHP防注 ...
- php简单实用的操作文件工具类(创建、移动、复制、删除)
php简单实用好用的文件及文件夹复制函数和工具类(创建.移动.复制.删除) function recurse_copy($src,$dst) { // 原目录,复制到的目录 $dir = opend ...
- 基于Bootstrap简单实用的tags标签插件
http://www.htmleaf.com/jQuery/ jQuery之家 自由分享jQuery.html5和css3的插件库 基于Bootstrap简单实用的tags标签插件
- C#_简单实用的翻页
简单实用的生成翻页HTML辅助类 C# using System.Text; namespace ClassLibrary { /// <summary> /// /// </sum ...
- 简单实用的Windows命令(一)
前几天新买了一台笔记本电脑,使用了一下几个简单的查看电脑配置的命令,觉得非常的不错,在此记录一下 一:运行命令的方式有两种 1:使用快捷键WIN+R,然后在弹出的“运行”对话框中输入对应的命令 2:在 ...
- 简单实用的Windows命令(二)
昨天简单的记录了几个非常简单实用的Windows命令,不过我又想起来还有两个我在实际的工作中也是经常用到的命令——PING和IPCONFIG,不过我在工作中的使用都是非常简单的,用PING命令检测对应 ...
- iOS边练边学--多线程介绍、NSThread的简单实用、线程安全以及线程之间的通信
一.iOS中的多线程 多线程的原理(之前多线程这块没好好学,之前对多线程的理解也是错误的,这里更正,好好学习这块) iOS中多线程的实现方案有以下几种 二.NSThread线程类的简单实用(直接上代码 ...
随机推荐
- 面试题25:最小的K个数
方法一:对n个整数进行排序(快速排序或堆排序),取出前K个元素(最容易想到的最笨的方法,不可取) 时间复杂度:O(n*logn) + O(k) = O(n*logn) 采用快速排序的代码: #incl ...
- 我的经常使用linux小命令
这里并非系统具体介绍每个Linux命令,不过记录本人在平时工作中经经常使用到的一些比較基础的命令及相关的參数,同一时候用了一些简单的样例来说明这些命令的用途,以及怎样用多种命令来实现同一种功能 ...
- JFinal开发web项目出现故障小记
导读 作为中国优秀的开源项目之中的一个JFinal有着极速开发的优点,是中小型应用开发的首选.在导师的建议下.我使用了JFinal来开发一个Java服务端应用,官方教程非常easy.就几十页(当然是中 ...
- 学习Java这几个快捷键你得知道(不断更新中)
java中的System.out.println();的快捷键 --------先输入sysout 在按 alt + /
- globalCompositeOperation 学习
globalCompositeOperation globalCompositeOperation即Canvas中的合成操作. 1.source-over 这是默认值,他表示绘制的图形将画在现有画布之 ...
- SQL PROMPT5.3.4.1的一些设置选项
SQL PROMPT5.3.4.1的一些设置选项 我使用的是5.3.4.1版本 sql prompt这个工具安装好之后就可以在SSMS里使用代码提示功能 园子里非常多的文章:例如SQLSERVER开发 ...
- org.hibernate.QueryException: could not resolve property: address of:
Hibernate: select count(*) as y0_ from test.course this_ org.hibernate.QueryException: could not res ...
- iOS多线程的基本使用
一.NSThread: 程序就是一段代码,是静态的概念 进程是运行起来的程序,是动态的概念,进程需要占内存空间 线程是进程的基本单位,一个进程至少有一个线程,iOS程序默认有一个主线程,用来显示和操作 ...
- linux查看与设置主机名
1.设置主机名 通过编辑/etc/sysconfig/network文件中的HOSTNAME字段就可以修改主机名.如下所示: [root@zijuan /]# vim /etc/sysc ...
- 关于智能指针auto_ptr
智能指针auto_ptr和shared_ptr也是面试中经常被问到的一个 感觉看auto_ptr的源码反而更加容易理解一些,因为源码的代码量并不大,而且比较容易理解. 本篇主要介绍auto_ptr 其 ...