读书笔记——IOS之Web开发

Web开发

读书笔记:http://www.mincoder.com/article/2576.shtml

主要的请求方法

  1. Get请求:数据以明文在URL中,数据量小
  2. Post请求:数据大小没有限制
  3. HEAD请求:请求头信息

程序的实现需要借助几个对象:

  • NSURLRequest:建立了一个请求,可以指定缓存策略、超时时间。和NSURLRequest对应的还有一个NSMutableURLRequest,如果请求定义为NSMutableURLRequest则可以指定请求方法(GET或POST)等信息。
  • NSURLConnection:用于发送请求,可以指定请求和代理。当前调用NSURLConnection的start方法后开始发送异步请求。

文件的下载方法

Get和POST都是不行的,正确的做法是这样的:

要分段下载,每次请求下载的范围,服务根据范围响应这部分的数据,对于文件大小信息如何获取呢?采用HEAD请求拿到。

NSURLSession

NSURLConnection的改良对象。

UIWebview 浏览器控件

  1. IOS操作页面:webViewDidFinishLoad:代理方法中通过stringByEvaluatingJavaScriptFromString: 方法可以操作页面中的元素,例如在下面的方法中读取了页面标题、修改了其中的内容。(通过JS)
  2. 页面中调用Object-C: 当需要进行一个js操作时让页面进行一个重定向,并且在重定向过程中传入一系列参数。在UIWebView的代理方法中有一个webView: shouldStartLoadWithRequest:navigationType方法,这个方法会在页面加载前执行,这样可以在这里拦截重定向,并且获取定向URL中的参数,根据这些参数约定一个方法去执行。(也就是把重定向过程拦下来,然后获取请求的参数)

网络状态检测

使用AFNetworking框架检测,发送一个URL然后去检测网络状态变化,网络改变后则调用相应的网络状态改变方法。

#pragma mark 网络状态监测-(**void**)checkNetworkStatus{
    //创建一个用于测试的url
    NSURL *url=[NSURL URLWithString:@"http://www.apple.com"];
    AFHTTPRequestOperationManager *operationManager=[[AFHTTPRequestOperationManager alloc]initWithBaseURL:url];
    //根据不同的网络状态改变去做相应处理
    [operationManager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        **switch** (status) {
            **case** AFNetworkReachabilityStatusReachableViaWWAN:
                [**self** alert:@"2G/3G/4G Connection."];
                **break**;
            **case** AFNetworkReachabilityStatusReachableViaWiFi:
                [**self** alert:@"WiFi Connection."];
                **break**;
            **case** AFNetworkReachabilityStatusNotReachable:
                [**self** alert:@"Network not found."];
                **break**;
            **default**:
                [**self** alert:@"Unknown."];
                **break**;
        }
    }];
    //开始监控
    [operationManager.reachabilityManager startMonitoring];}
时间: 2024-10-03 10:39:01

读书笔记——IOS之Web开发的相关文章

【读书笔记】Html5游戏开发

一直对HMTL5做游戏饶有兴趣,而这本书刚好就是HTML5 2游戏初级入门的书.Demo简单注释详细,可以拿来练练手,一个星期左右就可以读完.若要追求酷炫高大上效果,这本书恐怕要让你失望了.但作为上手书还是不错的. http://pan.baidu.com/s/1dD29Nhf 一共十章,都是类似于下面的小游戏,从浅到深. Demo下载 图形和图片的绘制都很简单,关键的地方还是用数组和定时器去实现游戏的业务逻辑和效果.简单的本地存储.声音视频播放.但含金量太少了,不能满足学游戏的胃口.当当上面评

读书笔记:《HTML5开发手册》Web表单

这是补充HTML5基础知识的第五篇内容,其他为: 一.HTML5-- 新的结构元素 二.HTML5-- figure.time.details.mark 三.HTML5-- details活学活用 四.HTML5-- 现存元素的变化 在之前的笔记中记录了HTML5标签元素的语义以及新定义,本周开始进入Web表单部分的学习,该章节已经读过一遍,很多表单验证的工作都可以通过HTML5完成!现在整理笔记,再次进入Web表单的神奇地域. 因该书出版较早,很多东西已经更改,我会在文中进行更正. 一.表单验

读书笔记:《HTML5开发手册》-- 现存元素的变化

继续学习HTML5语义化的内容,今天主要介绍一下,HTML5之前的元素经HTML5规范后的语义及一些使用示例. 一.cite HTML5对cite元素的定义进行了很大的修改,在HTML4中,cite元素允许开发人员显示引用内容的作者或发言人. <cite>恺撒大帝</cite>曾经说过, <q>来,信,砍.</q> 然而,HTML5中的cite用来显示某个作品(书籍.诗歌)的标题.HTML5规范中还着重强调:人名并非作品标题的一部分.因此,可以用下面的代码:

【读书笔记】Node.js开发指南

一:Node.js是什么? 正如当年为了统一 JavaScript 语言标准,人们制定了 ECMAScript 规范一样,如今为了统一 JavaScript 在浏览器之外的实现, CommonJS 诞生了. CommonJS 试图定义一套普通应用程序使用的API,从而填补 JavaScript 标准库过于简单的不足. CommonJS 的终极目标是制定一个像 C++ 标准库一样的规范,使得基于 CommonJS API 的应用程序可以在不同的环下运行,就像用 C++ 编写的应用程序可以使用不同的

读书笔记:《HTML5开发手册》

一.HTML5中新的结构元素 1. HTML5初始文件 1.1.doctype 在之前,doctype的声明是这样的: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//en" "http://www.w3. org/TR/html4/strict.dtd"> doctype称作文档类型声明(Document Type Definition),它总是作为HTML文件的第一行.doctype是WEB标准要求的一部分

【读书笔记】【Android 开发艺术探索】第4章 View 的工作原理

一.基础知识 1.ViewRoot 和 DecorView ViewRoot 对应 ViewRootImpl 类,它是连接 WindowManager 和 DecorView 的纽带,View 的三大流程都是通过 ViewRoot 来完成的.在ActivityThread 中,当 Activity 对象被创建完毕后,会将 DecorView 添加到 Window 中,同时会创建 ViewRoot 对象. DecorView 添加到窗口 Window 的过程. 图片来自https://yq.ali

读书笔记-构建高性能Web站点

基本概念 带宽:通常说的带宽比如8M带宽,是指主机与互联网运营商的交换机之间的数据传输速度,因为数据链路层的流量是通过控制接收方实现的.而百兆网卡则是指网卡的发送速度为100Mbit/s,则是指网卡发送数据的速度 吞吐率:单位是reqs/s,指服务器的并发能力,就是单位时间内服务器处理的请求数.最大吞吐率是指单位时间内服务器能够处理的最大请求数.通常使用压力测试的方法通过模拟足够数目的并发用户数,分别连续发送一定的Http请求,并统计测试持续的总时间,计算出基于这种压力下的吞吐率,即为一个平均计

[读书笔记]《Android开发艺术探索》第十五章笔记

Android性能优化 Android不可能无限制的使用内存和CPU资源,过多的使用内存会导致内存溢出,即OOM. 而过多的使用CPU资源,通常是指做大量的耗时任务,会导致手机变的卡顿甚至出现程序无法响应的情况,即ANR. 15.1.1布局优化 1.怎样进行布局优化? 首先删除布局中没用的控件和层级 其次有选择的使用性能较低的ViewGroup. 布局优化的还有一种手段是採用标签.标签.ViewStub.标签主要用于布局重用,标签一般和配合使用,它能够减少减少布局的层级,而ViewStub则提供

[读书笔记]iOS 7 UI设计 对比度

好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的核心思想就是:-------->简洁.但在简洁的UI里面如何让用户发现当前界面的重点,对比度是我们最有力的工具. 对比度有下列四种用途 1.突出重点,淡化非重点 2.加强视觉效果 3.告诉用户哪里可以点击 4.增强文字可读性 举例说明,如图 这是一个简单的闹钟程序,先别着急往下看,先思考一下,这个界面在