单单使用SwiftyJSON是没办法实现数据转模型的。还需要集成SwiftyJSONMappable来实现映射。下面来说几个要点。
一、模型不是继承NSObject,而是继承JSONMappable,继承了JSONMappable才能实现数据转换。如:
二、继承了JSONMappable,就必须实现required init(json: JSON) {}这个方法,这个方法主要是为了完成映射。SwiftyJSON没有MJExtension来得方便,我们必须手动的在这里实现映射。如上图中的方式来实现映射。
三、对于模型中的数组,也是在required init(json: JSON) {}实现映射的,SwiftyJSONMappable提供了相应的方法来实现。如下图,要实现模型中熟组[CaseList],就要使用caseList= json["caseList"].array?.map({ (json) ->CaseList in CaseList(json: json) })
四、设置好模型中的数据的时候,就要来实现数据转模型了,再设置模型的时候,要求必须实现init()方法,可想而知,数据转模型是需要用到这个方法的,就是模型类名.init(json: json)就可以了。注意一点是,json是SwiftyJSON转来的json。
网友评论