前言
现在iOS的开发语言 有 OC 和 SwiftSwift 本来就支持泛形OC 从 XCode7 后也支持泛形了
OC库
现在支持 JSON 和 Model 转换的OC库有很多 例如:
前三种无侵入 后两种则需要修改Model
推荐使用MJExtension和YYModel
但是它们都不支持带泛形的Model转换
Swift库
现在支持 JSON 和 Model 转换的Swift库 常用的如下
它们都支持带泛形的Model转换
泛形
OC泛形
ZJUser.h
1 |
|
ZJUser.m
1 |
|
ZJResult.h
1 |
|
ZJResult.m
1 |
|
使用方式
1 | ZJResult<ZJUser *> *result = [[ZJResult<ZJUser *> alloc]init]; |
配合AFNetworking代码
也就是泛形的部分 重新转换 并赋值
1 | ZJResult<ZJUser *> *result = [ZJResult<ZJUser *> yy_modelWithJSON:responseObject]; |
Swift泛形
配合SwiftyJSON
1 | import Foundation |
obj为数组
1 | import Foundation |
obj为对象
1 | import Foundation |
对象
1 | import Foundation |
使用方式
1 | // String --> model |
配合ObjectMapper
1 | import Foundation |
1 | import Foundation |
使用方式
1 | // JSON String --> Model |