国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

ios之網(wǎng)絡(luò)數(shù)據(jù)下載和JSON解析

2019-11-14 19:20:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

ios之網(wǎng)絡(luò)數(shù)據(jù)下載和JSON解析

簡(jiǎn)介

  在本文中筆者將要給大家介紹ios中如何利用NSURLConnection從網(wǎng)絡(luò)上下載數(shù)據(jù),以及如何解析下載下來(lái)的JSON數(shù)據(jù)格式,以及如何顯示數(shù)據(jù)和圖片的異步下載顯示。

  涉及到到知識(shí)點(diǎn)有:

  1.NSURLConnection異步下載和封裝

  2.JSON格式和JSON格式解析

  3.數(shù)據(jù)顯示和使用SDWebImage異步顯示圖片

內(nèi)容

1.網(wǎng)絡(luò)下載基礎(chǔ)知識(shí)介紹

  (1)什么是網(wǎng)絡(luò)應(yīng)用?

  一般情況下,iphone的計(jì)算機(jī),照相機(jī)不需要從網(wǎng)絡(luò)上下載數(shù)據(jù)也能運(yùn)行,所以這種類(lèi)型的應(yīng)用是本地應(yīng)用,但是iPhone上絕大多數(shù)的應(yīng)用都需要網(wǎng)絡(luò)才能運(yùn)行,例如QQ,微信,蝦米音樂(lè),所以IOS開(kāi)發(fā)中需要知道如何從網(wǎng)絡(luò)上下載數(shù)據(jù)。

  

  (2)網(wǎng)絡(luò)應(yīng)用的程序結(jié)構(gòu)

  網(wǎng)絡(luò)應(yīng)用不同于本地應(yīng)用,網(wǎng)絡(luò)應(yīng)用的數(shù)據(jù)是從網(wǎng)絡(luò)上下載下來(lái)的,所以需要在網(wǎng)絡(luò)上運(yùn)行一個(gè)程序?yàn)閼?yīng)用提供數(shù)據(jù),或者提供服務(wù),那么這個(gè)網(wǎng)絡(luò)應(yīng)用一般稱為客戶端,而網(wǎng)絡(luò)上運(yùn)行的服務(wù)稱為服務(wù)端;

  

  (3)常見(jiàn)的網(wǎng)絡(luò)接口形式

  IOS網(wǎng)絡(luò)應(yīng)用常見(jiàn)的數(shù)據(jù)接口一半都是HTTP形式的URL地址,例如愛(ài)限免應(yīng)用首頁(yè)的數(shù)據(jù)地址為:

  http://iappfree.candou.com:8080/free/applications/limited?currency=rmb&page=1&category_id=

  在項(xiàng)目中一般使用一些開(kāi)源庫(kù)通過(guò)這種網(wǎng)址下載數(shù)據(jù)。例如AFNetworking

 

  (4)常見(jiàn)的數(shù)據(jù)格式

  ios開(kāi)發(fā)中常見(jiàn)的數(shù)據(jù)格式有兩種,一種是JSON格式,另外一種是xml格式,相對(duì)來(lái)說(shuō),JSON格式使用的比較多

  

  (5)界面開(kāi)發(fā)的一般流程

  IOS中開(kāi)發(fā)i個(gè)界面,需要界面效果圖,界面素材資源和網(wǎng)絡(luò)接口

  開(kāi)發(fā)的流程一般如下所示

  ***1.下載數(shù)據(jù)

  ***2.解析JSON或XML數(shù)據(jù),創(chuàng)建數(shù)據(jù)模型Model

  ***3.使用控件顯示數(shù)據(jù),必要的時(shí)候定制視圖,例如定制Cell.

 

2.NSURLConnection使用

  NSString同步下載數(shù)據(jù)......-(void)testNSStringDownloadData

{    NSString *URLstr=@"http://iappfree.candou.com:8080/free/applications/limited?currency=rmb&page=1&category_id=";    //1.http是傳輸協(xié)議名    //2.iappfree.candou.com是域名        NSURL *url=[NSURL URLWithString:URLstr];    NSError *error=nil;    NSString *content=[[NSString alloc]initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];        if (error == nil)    {        NSLog(@"content =%@",content);    }    else    {        NSLog(@"下載失敗");    }        //上面為同步下載,不能用;        //}-(void)NSURLConnectionSynDownloadData{    NSString *URLstr=@"http://iappfree.candou.com:8080/free/applications/limited?currency=rmb&page=1&category_id=";    NSError *error=nil;    NSURL *url=[NSURL URLWithString:URLstr];    NSURLRequest *request=[NSURLRequest requestWithURL:url];  NSData *data =[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];    if (error ==nil)    {        NSString *str=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];        NSLog(@"%@",str);    }    else    {        NSLog(@"下載失敗");    }    }

 

 

3.JSON格式說(shuō)明和格式化工具

4.一個(gè)完整頁(yè)面點(diǎn)實(shí)現(xiàn)(包含model的創(chuàng)建,SDWebImage的使用)


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 闻喜县| 峡江县| 巴青县| 河曲县| 晴隆县| 郸城县| 安义县| 玉溪市| 太白县| 江安县| 静宁县| 闵行区| 泰州市| 肃北| 嘉义市| 永川市| 汉寿县| 贵港市| 灵璧县| 贞丰县| 论坛| 夏邑县| 江孜县| 宁国市| 南澳县| 怀化市| 屯门区| 吉木萨尔县| 昭平县| 广汉市| 清新县| 博白县| 凯里市| 合山市| 左贡县| 伊金霍洛旗| 温州市| 南靖县| 依安县| 梓潼县| 六盘水市|