博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS之网络数据下载和JSON解析
阅读量:6182 次
发布时间:2019-06-21

本文共 1738 字,大约阅读时间需要 5 分钟。

IOS之网络数据下载和JSON解析

简介

  在本文笔者将要给大家介绍IOS如何利用NSURLConnection从网络上下载数据,以及如何解析下载下来的JSSON数据格式,以及如何显示数据和图片的一部下载显示。

    涉及到的知识点:

  1.NSURLConnection异步下载和封装

  2.JSON格式和JSON格式解析

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

内容

1.网络下载基础知识介绍

  什么是网络应用?

  网络应用程序是一种使用网页浏览器在互联网或企业内部网上操作的应用软件。是一种以网页语言(例如HTML、JavaScript、等编程语言)撰写的应用程序,需要通过浏览器来运行。

  网络应用的程序结构:c/s,b/s;

  常见的网络接口形式:以太网接口;

  常见的数据格式:jason,xml;

2.NSURLConnection使用

  NSString同步下载数据......

// HTTP中使用URL地址    //  http:// 地址使用协议(ftp://)    //  iappfree.candou.com  主机地址(域名和IP)    //  :8080                   主机端口    //  /free/applications/limited  网页程序文件路径    //  ?currency=rmb&page=1&category_id= 程序参数(参数用&分割)        NSString *urlString = @"http://iappfree.candou.com:8080/free/applications/limited?currency=rmb&page=1&category_id=";        //下载数据    //通过地址生成NSURL对象    NSError *error = nil;    NSURL *url = [NSURL URLWithString:urlString];    NSString *content = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];    if (error==nil) {        NSLog(@"content = %@",content);    }    else    {        NSLog(@"下载失败");    }        //项目中怎么使用    //1.同步形式下载, initWithContentsOfURL下载完了之后才会返回    //      造成界面假死,不能用    //2.使用异步下载(NSURLConnection异步下载)

 

3.JSON解析

  可以通过系统提供的一个类NSJSONSerialization来完成,可以很方便的转为字典或者数组。范例代码如下。

- (void)dealDownloadFinish:(NLHttpRequest *)request{        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:request.data options:NSJSONReadingMutableContainers error:nil];        NSArray * dicts = [dict valueForKeyPath:@"list"];    for (NSDictionary *dict in dicts) {        NLEvent *event = [NLEvent eventWithDictionary:dict];        [_modelArray addObject:event];    }    [_tableView reloadData];}

 

 

转载于:https://www.cnblogs.com/baconchen/p/4384593.html

你可能感兴趣的文章
css居中
查看>>
谈谈分享邀请奖励机制(附iOS实现代码)
查看>>
多隆:淘宝第一行代码撰写者的程序世界
查看>>
【刷算法】翻转单链表的递归和非递归方法
查看>>
十步零基础JavaScript学习路径
查看>>
vue-cli 3.0新特性解读
查看>>
第一个tensorflow程序
查看>>
从问题出发看JAVA编程规范
查看>>
【译】Swift算法俱乐部-快速排序
查看>>
150年前,他对拿破仑做数据可视化
查看>>
Kafka走查
查看>>
Ribbon 框架简介及搭建
查看>>
Vue 模板编程实践 之 巧用过滤器
查看>>
Node.js 服务器
查看>>
小议JS原型链、继承
查看>>
对比几段代码,看看你是 Python 菜鸟还是老鸟
查看>>
在Ubuntu 16.04 / 17.10 / 18.04上安装Oracle Java JDK 11
查看>>
算法-无重复字符的最长子串
查看>>
直播、短视频平台如何选择合适的CDN?
查看>>
GO GC 垃圾回收机制
查看>>