线程间通信 GET POST

线程间通信有三种方法:NSThread   GCD  NSOperation   
 
 进程:操作系统里面每一个app就是一个进程、
一个进程里面可以包含多个线程,并且我们每一个app里面有且仅有一条主线程。
 
 

scrollViewDelegate 的方法  :

  • (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {   }
控制器一定要设置代理、、
GCD是c语言 它的方法是以dispatch 开头的  
dispatch_sync 同步
 

block就是一个代码块,装代码,把一些代码事先准备好

 

    在需要的时候调用   //1.定义一个无参无返回值

   //返回值    名称                   参数           参数

//    void      (^PrintBlock)        ()   =       ^(){

//            //block代码块

//        NSLog(@"---print block---");

//    };

//    

//    PrintBlock();

 

串行队列

 

 

    添加到我们的串行队列里面的任务,是会一个一个按顺序执行

并发队列

 

    并发:同时执行,加到我们并发队列里面的任务,同时执行

队列和任务总结

    

    串行队列

        同步任务:  1.有顺序,不开,在主线程执行

        异步任务:  1.有顺序,开,开一条

 

    并发队列

        同步任务: 1.有顺序,不开

        异步任务: 1.无顺序,开,开N,底层线程池

 

    全局队列

        同步任务: 1.有顺序,不开

        异步任务: 1.无顺序,开,开N条,底层线程池

 

 

    主队列 

        同步任务:会出现死等,最好不要使用

 

        异步: 有顺序,不开线程,主线程

 

 

去子线程,并发,全局,串行         方法:异步

//依赖的注意点

    /**

        1.不要循环依赖

        2.添加依赖的代码,必须要在 `将我们的任务添加到队列` 这之前

     */

 

connection

 

    bytesWritten 本次下载的字节

    totalBytesWritten 已经下载的总大小 

 

    expectedTotalBytes 服务器上文件的大小

 

 

 

 

GET缓存:

 
 
html有三部分组成:
html:显示内容和文字
css:来决定内容和文字的格式
js:交互的东西由js来做
 
 
 
SEO  js    jq jQuery  sencha/extjs     
radio 
native +HTML5
 
检测某个类的某些东西  无非就三个:代理  通知 kvo
 
webview(oc的东西)调用js
js调用webview
 
scheme协议头
 
冒号也属于方法明德一部分
pathComponents :是/ 数组
 
 
iFunboxmax.dmg   charles  窃取网站方面的隐私
 
sdk就是
 
java      jdk下载地址:javaforosx 
前端html5 js css怎么调用
 
网络安全:加密 base64  
            散列(哈希)函数--MD5加密(主要用于密码,百度云盘上传文件的内存管理)
  钥匙串
Ui控制器的生命周期
 
pwd  touch   open   
 
boundary 分割线
 
字典遍历:enumeration
 
转义\
post提交
 
 
KVC  key  value  coding  -键值编码   
将对象(模型)转字典
 
 
 
获取沙盒路径
NSSeachPathForDirectoriesInDomains:(NSCachesDirectory) 
 
NSFileManager  创建删除 移动我们的文件 并且获取文件的信息
NSFileHandle 专门用来流入数据
 
seekToendOfFile  移动到文件的末尾
 
 
输入输出是以内存为参照的
输入
 
打开流:open
 
runloop开启我们的子线程的runloop下载比较特殊,下载完毕之后他的runloop会自动停止
 
 
range用于获取服务器数据的范围    告诉服务器 获取额外的信息设置请求头            [request  setValue: forHTTPHeaderField:] 
 
如果只是获取文件的信息,而不是吧数据荡下来用.HTTPMethod = @“HEAD”;
 
并发队列会在子线程
 
xcode6以后可以动态的显示IB-DESIGN  什么的   
 
 
模型转字典:  
[per     dictionaryWithValuesForKeys:@[@“name”,@“age"]

 

 

客户端将oc中的json字符串/字典/数组整理成二进制数据的格式过程(序列化)然后再发给服务器

 

POST

    参数不会放在url后面了

    参数放在我们请求体,记住,请求体里面要的是二进制

 POST的参数放在请求体里面,参数没有? 如果有多个参数用 & 分割

    并且 如果要指定POST方法,必须显示的指定

GET

    1.参数接在url后面,

    并且第一个参数用?

    后面从第二个参数开始 如果有多个参数用 & 分割

    并且它的参数,是以键值对的方式表示的

    并且我们NSURLRequest的默认就是GET

     XCode7.0 真机调试是不需要开发者账号,但是上传AppStore是必须要的

posted @ 2016-02-24 00:11  Ruby_Hua  阅读(324)  评论(0编辑  收藏  举报