麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

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

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

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

簡介

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

  涉及到的知識應用:

  1.NSURLConnection異步下載和封裝

  2.JSON格式和JSON格式解析

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

內容

  1網絡下載基礎知識介紹

    什么是網絡應用?

      一般情況下,iphone上絕大多數的應用都需要網絡才能運行,就是網絡應用。

    網絡應用的程序結構

      在網絡上運行一個程序為應用提供數據, 或者提供服務, 那么這個網絡應用一般稱為客戶端, 而網絡上運行的服務稱為服務端。

    常見的網絡接口形式

                 iOS網絡應用常見的數據接口一般都是HTTP形式的URL地址。

    界面開發的一般流程

      下載數據  NSURLConnection+URL 

      解析數據  JSON/xml

      建立數據模型model

      創建視圖 使用視圖顯示

                 tableView +定制cell

                 圖片異步下載SDWeblmage

  2NSURLConnection的使用

    NSString同步下載數據

    

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(@"下載失敗");    }

  

    NSURLConnection 同步下載

NSURL *url = [NSURL URLWithString:urlString];    NSURLRequest *request = [NSURLRequest requestWithURL:url];    NSError *error = nil;    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];    if(error == nil)    {        NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];        NSLog(@"str = %@",str);    }    else    {        NSLog(@"下載失敗");    }

  

    NSURLConnection 異步下載

    

@PRoperty (copy,nonatomic) NSMutableData *data;//作用://  傳入網址, 下載完成執行后執行target對象中action方法-(void)requestWithUrl:(NSString *)url target:(id)target action:(SEL)action;@interface ZJHttpRequest ()<NSURLConnectionDataDelegate>{    NSURLConnection *_connection;    NSString *_url;    id _target;    SEL _action;}@end@implementation ZJHttpRequest//作用://  傳入網址, 下載完成執行后執行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];    }    }

  

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

 

    

JSON格式

    {

        "count":20,

        "data":[

            "zhangsan",

            "lisi",

            "wangwu"

        ]

    }

    []    表示數組,對應NSArray

    ,     表示并列的數據

    {}    表示字典,對應NSDictionary

    :     表示鍵值對

    "xxx"  表示字符串,對應NSString

    20    對應NSNumber

  4一個完成頁面的實現(包含model的創建,SDWebImage的使用)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜视频你懂的 | av成人一区二区 | 精品乱码久久久久 | 欧美成人免费小视频 | 亚洲视频成人在线 | 精品无吗乱吗av国产爱色 | 久久不射电影 | 麻豆一区二区99久久久久 | 国产亚洲精品久久久久久久久 | 免费观看黄色一级视频 | 国产精品久久久久久影院8一贰佰 | 欧美日韩一 | 国产一区视频观看 | 在线成人免费网站 | 天天好比网 | 91资源在线观看 | 羞羞视频2023 | 久草资源在线观看 | 国产精品男女 | 香蕉国产精品 | 欧美日韩精品中文字幕 | 污视频在线免费播放 | 国产合集91合集久久日 | 欧美成人精品欧美一级 | 2级毛片| 91懂色| 性欧美极品xxxx欧美一区二区 | 久久福利小视频 | 高清国产福利 | 草草影院地址 | 日本欧美一区二区三区视频麻豆 | xp123精品视频 | 夜夜看| 国产一级毛片网站 | 羞羞视频在线免费 | av懂色| 黄色av片三级三级三级免费看 | 国产成人精品一区二区视频免费 | 草草视频在线播放 | 日韩黄色片免费看 | 污视频在线免费播放 |