国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 台前县| 镇坪县| 沙坪坝区| 常熟市| 丽水市| 河北区| 元朗区| 湟中县| 通渭县| 连云港市| 仁布县| 昌乐县| 临颍县| 沁阳市| 蕉岭县| 松潘县| 彭州市| 九龙县| 盐城市| 侯马市| 曲麻莱县| 藁城市| 双流县| 永定县| 迁安市| 阿拉善右旗| 罗平县| 江城| 隆尧县| 大田县| 信丰县| 东乌珠穆沁旗| 长沙县| 卢氏县| 历史| 新平| 卢龙县| 嘉峪关市| 神农架林区| 盈江县| 手游|