iOS网络数据下载和JSON解析

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

iOS网络数据下载和JSON解析简介在本文中笔者将要给大家介绍iOS中如何利用NSURLConnection如何从网络中下载数据,如何解析下载下来的JSON数据格式,以及如何显示数据和图片的异步下载显示。

涉及到的知识点:

1.NSURLConnection异步下载和封装

#import"ZJHttPRequest.h"//消除performSelector的警告#pragmaclang diagnostic ignored "-Warc-performSelector-leaks"//类扩展//项目实践://有些实例变量内部使用, 不想放在头文件中, 放在这儿@interfaceZJHttpRequest ()<NSURLConnectionDataDelegate>{

NSURLConnection*_connection;

NSString*_url;id_target;

SEL _action;

}@end@implementationZJHttpRequest//作用://传入网址, 下载完成执行后执行target对象中action方法-(void)requestWithUrl:(NSString *)url

target:(id)target

action:(SEL)action

{

_url=url;

_target=target;

_action=action;//发起URL请求_data =[[NSMutableData alloc] init];

_connection= [[NSURLConnection alloc] initWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]delegate:self startImmediately:YES];

}-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

{

[_data appendData:data];

}-(void)connectionDidFinishLoading:(NSURLConnection *)connection

{//下载完成了, 执行保存的方法if(_target &&[_target respondsToSelector:_action])

{

[_target performSelector:_action withObject:self];

}

}@end

2.JSON格式和JSON格式解析

JSON格式:

{ //{}字典 ,[]数组"list": [

{"IsXuanZuo":0,"Name":"“梁静茹·你的名字是爱情”2015世界巡回演唱会天津站","PriceStr":"299,399,599,799,999","ProjectID":78647,"ShowTime":"2015.07.25","SiteStatus":8,"Summary":"4月7日13:00大麦APP抢先开启先付预售!","VenId":1403,"VenName":"天津体育中心(大馆)","cityname":"天津市","openSum":5836,"priceName":"299-999元"},

...

}

JSON最简便的解析方法:

NSJSONSerialization

NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:request.data options:NSJSONReadingMutableContainers error:nil];

3.数据显示和使用SDWebImage异步显示图片

SDWebImage -- UIImageView+WebCache.h

需设置内存管理 --> Project --->Build Phases -->将所有SD文件设置Compiler Flags

内容1.网络下载基础知识介绍什么是网络应用?网络应用的程序结构C/S结构:Cilent客户端

Server 服务端

常见的数据格式JSON/xml

界面开发的一般流程界面模板--> 数据资源--> 下载数据,解析-->设计界面,刷新

2.NSURLConnection使用NSString同步,NSURLConnection同步 --> 同步下载界面会卡(一般不用)

NSURLConnection异步

3.JSON格式说明和格式化工具

4.一个完整页面的实现(包含model的创建,SDWebImage的使用) MVC模式 -->M:model , V:view , C:controller

数据下载--> 解析 --> 提取数据于model中 --> 建立cell 设置数据

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航