scrollViewDelegate 的方法 :
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { }
block就是一个代码块,装代码,把一些代码事先准备好
在需要的时候调用 //1.定义一个无参无返回值
//返回值 名称 参数 参数
// void (^PrintBlock) () = ^(){
// //block代码块
// NSLog(@"---print block---");
// };
//
// PrintBlock();
串行队列
添加到我们的串行队列里面的任务,是会一个一个按顺序执行
并发队列
并发:同时执行,加到我们并发队列里面的任务,同时执行
队列和任务总结
串行队列
同步任务: 1.有顺序,不开,在主线程执行
异步任务: 1.有顺序,开,开一条
并发队列
同步任务: 1.有顺序,不开
异步任务: 1.无顺序,开,开N,底层线程池
全局队列
同步任务: 1.有顺序,不开
异步任务: 1.无顺序,开,开N条,底层线程池
主队列
同步任务:会出现死等,最好不要使用
异步: 有顺序,不开线程,主线程
去子线程,并发,全局,串行 方法:异步
//依赖的注意点
/**
1.不要循环依赖
2.添加依赖的代码,必须要在 `将我们的任务添加到队列` 这之前
*/
connection
bytesWritten 本次下载的字节
totalBytesWritten 已经下载的总大小
expectedTotalBytes 服务器上文件的大小
GET缓存:
客户端将oc中的json字符串/字典/数组整理成二进制数据的格式过程(序列化)然后再发给服务器
POST
参数不会放在url后面了
参数放在我们请求体,记住,请求体里面要的是二进制
POST的参数放在请求体里面,参数没有? 如果有多个参数用 & 分割
并且 如果要指定POST方法,必须显示的指定
GET
1.参数接在url后面,
并且第一个参数用?
后面从第二个参数开始 如果有多个参数用 & 分割
并且它的参数,是以键值对的方式表示的
并且我们NSURLRequest的默认就是GET
XCode7.0 真机调试是不需要开发者账号,但是上传AppStore是必须要的