亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

在Swift中使用JSONModel 實例代碼

2020-07-26 03:18:00
字體:
來源:轉載
供稿:網友

前言

 首先所有的Model還是使用oc來寫――看到這一句是不是想關網頁了- - #,在swift里面直接寫一直報錯所以就將就用oc來寫了,這里主要是分享一下搭配Alamofire使用的經驗。

正文

 這里不討論JSONModel和Alamofire這兩個項目,直接上代碼,BaseModel.h

#import "JSONModel.h"@interface BaseModel : JSONModel-(instancetype)initWithDictionary:(NSDictionary*)dict;@end

BaseModel.m

#import "BaseModel.h"@implementation BaseModel//Make all model properties optional (avoid if possible)+(BOOL)propertyIsOptional:(NSString*)propertyName{  return YES;}-(instancetype)initWithDictionary:(NSDictionary*)dict {  return (self = [[super init] initWithDictionary:dict error:nil]);}@end

 所有的Model都要繼承BaseModel,其他寫法都一樣

  BaseAPI.swift

internal func requestModel<T: BaseModel>(method: Method, _ URLString: URLStringConvertible, parameters: [String: AnyObject]? = nil, success: (T) -> Void, failure: (NSError?) -> Void) {    mHttpManager.request(method, URLString , parameters: parameters, encoding: ParameterEncoding.JSON)      .responseJSON { (request, response, data, error) in        if error == nil {          if let dict = data as? NSDictionary {            if let model = T(dictionary: dict as [NSObject : AnyObject]) {              success(model)              return            }          }        }        failure(error)    }  }    internal func requestArray<T: BaseModel>(method: Method, _ URLString: URLStringConvertible, parameters: [String: AnyObject]? = nil, success: (Array<T>) -> Void, failure: (NSError?) -> Void) {    mHttpManager.request(method, URLString , parameters: parameters, encoding: ParameterEncoding.JSON)      .responseJSON { (request, response, data, error) in        if error == nil {          if let array = data as? NSArray {            if let result = T.arrayOfModelsFromDictionaries(array as [AnyObject]).copy() as? Array<T>{              success(result)              return            }          }        }        failure(error)    }  }

 代碼說明

   1、mHttpManager這個是Alamofire的Manager對象

   2、注意服務端的返回的數據格式,這里支持Model和Array<Model>

   3、注意在Swift里面NSDictionary轉Model,用T(dictionary: dict as [NSObject : AnyObject]),這個T就是具體的泛型類型

   4、注意在Swift里面NSArray轉Model數組,用T.arrayOfModelsFromDictionaries(array as [AnyObject]).copy() as? Array<T>,注意不要用BaseModel. arrayOfModelsFromDictionaries(編譯不會報錯但是類型轉不出來)

   5、具體用法:

 public func casts(success: (Array<CustomModel>) -> Void, failure: (NSError?) -> Void) {        requestArray(Method.GET, URL_CASTS, parameters: nil, success: success, failure: failure)      }            public func like(id: String, success: (CustomModel) -> Void, failure: (NSError?) -> Void) {        requestModel(Method.PATCH, String(format: URL_CASTS_LIKE, id), parameters: nil, success: success, failure: failure)      }

以上就是在Swift中使用JSONModel 實例代碼,有需要的朋友可以參考下。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美黄色片视频| 国产亚洲美女久久| 亚洲欧美国产另类| 国产成人拍精品视频午夜网站| 国产精品日韩在线播放| 色噜噜久久综合伊人一本| 亚洲自拍偷拍色片视频| 国产午夜精品全部视频在线播放| 97碰碰碰免费色视频| 国产亚洲精品久久| 亚洲精品小视频在线观看| 中文国产成人精品| 国产成人精品免费视频| 国产91成人在在线播放| 成人网欧美在线视频| 亚洲欧美日韩另类| 日韩国产中文字幕| 欧美丝袜一区二区| 一本色道久久综合狠狠躁篇的优点| www.亚洲免费视频| 国内成人精品视频| 久久精品视频va| 欧美国产亚洲精品久久久8v| 成人中文字幕+乱码+中文字幕| 亚洲国产欧美一区二区丝袜黑人| 97在线观看免费高清| 国产精品一区二区久久久| 欧美一级电影免费在线观看| 日韩成人av网| 欧美日韩第一页| 精品国产欧美成人夜夜嗨| 91精品国产99久久久久久| x99av成人免费| 国产aaa精品| 欧美人在线观看| 国产一区二区在线免费视频| 一区二区欧美日韩视频| 久久99久久99精品免观看粉嫩| 亚洲欧美国产精品专区久久| 亚洲精品日韩丝袜精品| 亚洲国产高清高潮精品美女| 日韩欧美中文字幕在线播放| 成人乱色短篇合集| 伊人久久五月天| 亚洲国产一区二区三区四区| 91网站免费看| 欧美激情性做爰免费视频| 国模吧一区二区| 国内成人精品一区| 欧美一区二区三区免费视| 5252色成人免费视频| 日韩在线观看成人| 尤物yw午夜国产精品视频明星| 2019日本中文字幕| 日韩在线播放视频| 亚洲欧美激情另类校园| 国产精品视频地址| 日韩亚洲第一页| 欧美高清性猛交| 8090成年在线看片午夜| 在线视频免费一区二区| 国产女精品视频网站免费| 97视频人免费观看| 69久久夜色精品国产69乱青草| 日韩av在线天堂网| 2020欧美日韩在线视频| 久久影视电视剧免费网站| 欧美色xxxx| 久久久久久久一| 国产精品视频26uuu| 国产精品久久久久秋霞鲁丝| 欧美xxxx做受欧美.88| 青草热久免费精品视频| 国产成人综合一区二区三区| 国内揄拍国内精品少妇国语| 久久久久久久久爱| 精品中文字幕乱| 亚洲精品ady| 成人精品久久av网站| 久久夜精品va视频免费观看| 日本免费一区二区三区视频观看| 亚洲欧美综合v| 日韩精品在线播放| 成人性生交大片免费观看嘿嘿视频| 久久久久久久久久久免费精品| 亚洲一区二区三区在线视频| 久久亚洲精品成人| 日韩精品在线观| 久久福利视频网| 91精品综合久久久久久五月天| 久久久午夜视频| 福利一区视频在线观看| 91嫩草在线视频| www高清在线视频日韩欧美| 亚洲欧洲日本专区| 欧美激情亚洲自拍| 97香蕉超级碰碰久久免费软件| 欧美在线观看一区二区三区| 国产精品video| 色久欧美在线视频观看| 国产精品伦子伦免费视频| 欧日韩在线观看| 韩国三级日本三级少妇99| 午夜精品福利视频| 欧美精品在线免费| 国产日韩在线亚洲字幕中文| 久久精品国产96久久久香蕉| 国产精品久久二区| 欧美性生活大片免费观看网址| 97久久超碰福利国产精品…| 青青青国产精品一区二区| 精品视频在线播放| 日韩精品视频三区| 国产丝袜高跟一区| 欧美裸体xxxxx| 中文字幕欧美亚洲| 激情成人在线视频| 欧美精品videosex极品1| 久久91亚洲精品中文字幕| 久久久欧美一区二区| 日韩免费av片在线观看| 在线看福利67194| 欧美精品手机在线| 欧美极品少妇全裸体| 国色天香2019中文字幕在线观看| 国产男人精品视频| 国产91色在线|免| 亚洲最新视频在线| 亚洲欧洲成视频免费观看| 人人爽久久涩噜噜噜网站| 欧美精品久久久久久久免费观看| 亚洲精品一区中文字幕乱码| 国产91在线播放九色快色| 国产精品免费观看在线| 国产91在线播放九色快色| 精品网站999www| 夜夜嗨av色综合久久久综合网| 欧美一区二区三区四区在线| 欧美理论电影在线观看| 精品久久久香蕉免费精品视频| 久久久久久久久电影| 在线日韩日本国产亚洲| 国产不卡在线观看| 欧美在线一级va免费观看| 亚洲影院污污.| 97色在线视频| 国产中文字幕日韩| 亚洲精品自产拍| 国产精品三级在线| 日韩av电影中文字幕| 久久电影一区二区| 91在线观看免费高清完整版在线观看| 欧美最猛性xxxxx(亚洲精品)| 成人免费在线视频网址| 欧美中文字幕在线| 欧美精品videos性欧美| 欧美视频在线观看 亚洲欧| 91国偷自产一区二区三区的观看方式| 日本一区二区不卡| 欧美性猛交xxxx| 久久久精品免费| 中文字幕不卡在线视频极品| 57pao成人永久免费视频| 91色琪琪电影亚洲精品久久|