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

首頁 > 學院 > 開發設計 > 正文

iOS之網絡數據下載和JSON解析

2019-11-14 19:20:04
字體:
來源:轉載
供稿:網友

 iOS之網絡數據下載和JSON解析

 

 簡介

  在本文中筆者將要給大家介紹IOS中如何利用NSURLconnection從網絡上下載數據以及如何解析下載下來的JSON數據格式,以及如何顯示數據和托圖片的異步下載顯示。

  涉及到的知識點;

  1. NSURLconnection異步下載和封裝

  2.JSON格式和JSON格式解析

  3. 數據顯示和使用SDWebImage異步顯示圖片

內容

     1.網絡下載基礎知識介紹

            什么是網絡應用?

                          網絡應用就是在有網絡的環境下才能正常使用的一些應用程序。

      網絡應用的程序結構

                  C/S結構

 

                  Client客戶端: 展示數據, 與用戶進行交流

 

                  Server服務端: 為客戶端提供數據, 提供服務

     界面開發的一般流程

               1.你先需要知道自己做的界面是怎樣的一個效果,然后你再看需要什么素材和網絡接口。

               2.利用NSURLConnection異步下載數據。

               3.通過解析數據,建立數據模型model。

               4.自行定義一個UITabBarViewCell來顯示界面。

 

  2.NSURLconnection的使用

                    在這里我們是封裝了這個異步下載的方法

@interface ZXHttPRequest()<NSURLConnectionDataDelegate>{    NSString *_url;    SEL _action;    NSURLConnection *_connection;    id _target;}@implementation ZXHttpRequest-(void)requestWithUrl:(NSString *)url               target:(id)target               action:(SEL)action;{        _url=url;    _action=action;    _target=target;    _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{    [_target performSelector:_action withObject:self];}

 

 

 

        NSString同步下載數據

    我們把它寫在這個方法里面,數據的接口是愛限免的數據接口,同步下載我們是不能用的,因為如果你要下載的數據比較大的話就很容易陷進這個方法里面去出不來,我們的異步下載是在后臺運行下載的,但同步下載卻是下載完數據之后返回再跳出方法的。這是它們的不同點,也是同步下載的致命缺陷。

-(void)testNSStringDownloadData{    NSString *urlString = @"http://iappfree.candou.com:8080/free/applications/limited?currency=rmb&page=1&category_id=";        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(@"下載失敗");    }  }

 

 

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

                   JSON格式最重要的就是要搞清楚它數據里面的嵌套關系,它解析的方法其實很簡單,重點不在方法,就在嵌套關系,我們通過一個JASON的解析軟件就可以清楚的看到它里面嵌套的數據結構了,推薦給大家。

這是解析的方法:

 

    NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:(NSData *)options:(NSJSONReadingOptions) error:(NSError *__autoreleasing *)                     

 

 

 

  4.一個完整界面的實現(包含Model創建)

         效果圖:

 

 

 

 

 

 

 

 

 

 

 

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪江市| 类乌齐县| 舞阳县| 六枝特区| 乐安县| 衡水市| 洛阳市| 托里县| 亳州市| 苏尼特左旗| 荥阳市| 杭锦旗| 武山县| 海城市| 庆元县| 根河市| 桑日县| 吐鲁番市| 大同市| 荥阳市| 色达县| 吴堡县| 怀集县| 临城县| 罗甸县| 阳曲县| 沂南县| 织金县| 时尚| 始兴县| 礼泉县| 鲜城| 永宁县| 共和县| 文安县| 衡阳县| 洮南市| 镶黄旗| 乐山市| 察雅县| 屏东县|