ios网络请求

1、同步请求:数据的请求过程是在主线程来执行的,网络数据加载需要一个时间过程,会堵塞主线程(在请求的过程中无法取消、无法监听加载进度)【一次全部请求下来】
     异步请求:数据的请求过程在多线程来执行(在请求过程中可以取消、可以监听加载进度)【不断的请求】
2、(fundation框架自带的网络请求方式)
初始化URL实例
NSURL *url = [NSURL URLWithString@“http://………”];
NSURLRequest的使用
(1.)//不可变的
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy(缓存策略) timeoutInterval:60(超时时间)];
(2.)//可变的(可对网络请求的信息重新设置)
【一般用这个】
NSMutableURLRequest *request = [NSMutableURLRequest alloc] init];
[request setURL:url];
//设置请求方式:
[request setHTTPMethod:@“post”];
//设置超长时间
[request setTimeoutInterval;60];
//设置请求体(参数)[!!!post请求体也可放在URL后面!!!!]
[request setHTTPBody: _data];
//设置请求头
[request setValue:@“…” forHTTPHeaderField:@cooks””];
NSURLResponse*response;//包装服务器响应的一些东西eg:响应头 响应码...
//同步请求
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil] 
//异步请求(设置一个代理对象  因为要通过代理方法传数据)
[NSURLConnection connectionWithRequest:request delegate:self];

3、异步请求的另一种方式:
开辟一个子线程,在该线程里创建一个同步请求相当于异步请求
4、若异步请求在多线程里,那么最后要回到主线程
5、加载数据用NSData

6、UI的操作一般放到主线程去
eg:将对象添加到视图上
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值