正文
线程间通信 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 jqjQuery 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是必须要的