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

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

iOSAFNetworking2.xJSON方法

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

寫在前面(廢話,可略過)又是好久沒更新,主要是忙(懶)。爭取多學習,多分享!

正式開始我們在開發的過程中,難免會遇到網絡操作,我們可以使用iOS原裝的網絡框架,當然了,使用三方框架更容易些,非常出名的就是AFNetworking框架,這個框架貌似還是12年最佳三方框架。總之,iOS開發,網絡部分,基本都會用到這個框架。
這個框架在github上,AFNetworking 傳送門 --> 點我點我
如果使用此框架的1.x版本,在JSON解析方面使用的某一個API,但是在2.x以后,AFNetworking推薦使用另一個API,而網上大部分教程都是1.x JSON API,此文主要分享下2.x的方法。

先讓大家感受下1.x的

//構建網址
    NSString *urlString = [NSString stringWithFormat:@"xxxxxxxxxx"];//xxxx處寫一個你的網址
 
    //如果網址中有中文,需要轉換
    urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
 
    //構建NSURL
    NSURL *url = [NSURL URLWithString:urlString];
    //構建請求,這個構建方法是基本構建方法的一個封裝加強。主要多了超時屬性,就是最后一個參數,4.0f。意思就是如果在4秒內沒有響應,就不阻塞主線程(為啥放主線程就不贅述了)
    NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUsePRotocolCachePolicytimeoutInterval:4.0f];

    //以AF開始的是就是AFNetworking框架的API,這是1.x的方法。
    AFJSONRequestOperation *op = [AFJSONRequestOperation JSONRequestOperationWithRequest:requestsuccess:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
        NSDictionary *dictionary = JSON;
        int ret = [[dictionary objectForKey:@"ret"] intValue];
      
        //對服務器返回數據進行判斷
        switch (ret) {
            case -1:
                [self showAlertWithString:@"用戶未登錄"];
                break;
            case 1:
                [self saveDataToCurrentAccount];
                [self showAlertWithDelegateWithString:@"保存成功"];
                break;
            case -2:
                [self showAlertWithString:@"保存失敗"];
                break;
        }
    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
        [self showAlertWithString:[NSString stringWithFormat:@"%@", error.localizedDescription]];
    }];
    [op start];

相信大家都能看懂,
它很好的使用了block,如果成功,todo,如果失敗,tudo。(成功、失敗里面的方法是我自己封裝的,你寫你自己的就OK)
并且整體方法放入operation。
直接把返回的JSON以參數形式給你。

這就是1.x的JSON方法,但是如果使用的是2.x的框架,再使用這個方法就會報錯,因為2.x的框架取消了AFJSONRequestOperation
這個時候我們應該怎么做呢?


讓大家感受下2.x的
NSString *urlString = [NSString stringWithFormat:@"xxxxxxxx"];
    //有中文,需要轉換
    urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSURL *url = [NSURL URLWithString:urlString];
    NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicytimeoutInterval:4.0f];

    AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    op.responseSerializer = [AFJSONResponseSerializer serializer];
    [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responSEObject) {

        NSDictionary *dictionary = responseObject;
        int ret = [[dictionary objectForKey:@"ret"] intValue];

        //對服務器返回數據進行判斷
        switch (ret) {
            case -1:
                [self showAlertWithString:@"用戶未登錄"];
                break;
            case 1:
                [self saveDataToCurrentAccount];
                [self showAlertWithDelegateWithString:@"保存成功"];
                break;
            case -2:
                [self showAlertWithString:@"保存失敗"];
                break;
        }
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        [self showAlertWithString:[NSString stringWithFormat:@"%@", error.localizedDescription]];

    }];
    [[NSOperationQueue mainQueue] addOperation:op];


在2.x中,他使用了AFHTTPRequestOperation和AFJSONResponseSerializer,對結果用他自己的API序列化,這時候,沒有id JSON了,但是你把responseObject當 id JSON用就OK了。


最后提提覺得大家應該都知道,但是還是寫出來吧。
如何導入框架呢?
給兩個方法吧
一。直接去傳送門找需要的下載,一般我們使用第一個,也就是默認的AFNetworking框架。進去后,看右側,有個download,下載、解壓,里面有個文件夾,找找,就是框架的.h.m,具體文件結構忘了,不過很好找的。然后把這個文件夾拖入工程,選copy,group,你的target。然后在需要使用的地方import AFNetworking.h 就OK。
二。使用cocoaPods配置

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级α片免费看刺激高潮视频 | 中文字幕国 | 久久久激情网 | 91精品国产91 | 国产精品av久久久久久久久久 | 羞羞视频免费观看入口 | 毛片小网站 | 草草久| av成人一区二区 | lutube成人福利在线观看污 | 蜜桃久久一区二区三区 | 奶子吧naiziba.cc免费午夜片在线观看 | 伊人成人免费视频 | 毛片视频网站在线观看 | 国产一级毛片国语版 | 亚洲九色| 91视频久久 | 日本在线不卡一区二区 | 国产羞羞视频在线观看免费应用 | 99在线免费观看视频 | 久久精品亚洲精品国产欧美kt∨ | 国产一级在线观看视频 | 一级黄片毛片免费看 | 国产一区二区在线免费 | av在线在线 | 久久精品亚洲精品国产欧美kt∨ | 国产午夜电影在线观看 | 久久影院免费观看 | 91看片王| 人人做人人看 | 毛片小网站 | 中国成人在线视频 | 日本羞羞影院 | 国产高清成人久久 | 西川av在线一区二区三区 | 中国美女一级黄色片 | 美女黄网站免费观看 | v11av在线视频成人 | 失禁高潮抽搐喷水h | 国产在线精品区 | 日韩精品久久久 |