OC学习总结之异步连接

哎, 前几天去了趟韩国, 浪了几天.  一直没机会写博客. 这不回来的第一天上班就是儿童节,祝大家节日快乐哈..不吹牛逼了   直接搞起
1、同步连接和异步连接
同步连接是iOS中网络连接的一种方式,当请求的数据量小时,同步连接是一个很好的选择。UI“冻结”是它的一个缺点。
同步连接步骤:
//新建一个URL
       NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
       //创建一个请求
NSURLRequest *req=[NSURLRequest requestWithURL:url];
//发起同步连接
       NSData * data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
//打印字符串信息
       NSString * str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
       NSLog(@"str = %@",str);
异步连接是iOS最常用的一种网络连接方式。适应传输数据量大,在连接过程中UI不“冻结”。
异步连接步骤:
//初始化一个URL
       NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
       //创建一个请求
       NSURLRequest * req = [NSURLRequest requestWithURL:url];
       //发起异步连接
       [NSURLConnection connectionWithRequest:request delegate:self];
       //其他的事情交给代理方法去完成
       NSLog(@"NSURLConnection 完成");
异步请求代理方法
(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response//连接接受响应,表示成功建立连接
(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data//连接接受数据
(void)connectionDidFinishLoadi ng:(NSURLConnection *)connection
//连接完成
2、JSON解析
数据解析是从繁杂的数据中筛选出自己需要的数据。
规则:大括号代表字典,中括号(或小括号)代表数组。冒号左右两边分别为key键和值value。数据与数据之间用逗号分隔。
例如:
[{"name":"kallen","age":"26","sex":"男"},{'"name":"alex","age":"24","sex":"男"}]
数组中存放连个字典,字典里包含3个key值。
例如:
存在jsont.json文件,解析出名字kallon
NSString *path=[[NSBundle mainBundle]pathForResource:@"jsont" ofType:@"json"];//获取文件路径
       NSString *jsonStr=[NSString stringWithContentsOfFile :path encoding:NSUTF8StringEncoding error:nil];//创建字符串根据读取到的文件路径
   NSDictionary   *jsondic=[jsonStr JSONValue];//将字符串转化为字典
               NSArray *jsonArray=[jsondic objectForKey:@"hello"];
   NSDictionary *dic=[jsonArray objectAtIndex:0];//数组里下标为0的字典
         NSString*name=[dic objectForKey:@"name"];//将字典的属性name
     NSLog(@"%@",name);
运行结果
2013-02-18 15:00:51.603 oc第九课文件和网络 课堂练习[1557:c07] kallon
2、GET请求和POST请求
GET将参数直接写在了访问路径上,POST请求将参数放到body里面。它们的区别有以下几点:
a、GET操作简单,所有参数直接写到地址里面就可以了;POST操作相对复杂,需要将参数和地址分开写。
b、GET方式参数容易被外界看到,安全性不高;POST方式安全性比较高,参数放在了body里面,不易被捕获。
c、GET方式地址(含参数)最多长度255字节,多余的部分会被截掉;POST因为参数在body里面,所以即使传再多内容都没问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值