#TTReflect ####swift版 json转model 框架
###安装 ####iOS 7 #####手动导入 将TTReflect.swift拖到项目中即可使用
####iOS 8+ #####使用CocoaPods安装
platform :ios, '8.0'
pod 'TTReflect', '~> 0.1.0'
=======
###使用 ####模型要求
class Tag: NSObject {
var count: Int = 0
var name: String?
var title: String?
}
1.模型需要继承于NSObject
2.Int等基本属性不可以使用可选类型
####实例 具体见代码示例 #####字典转模型
######指定需要转换的json或data,并指定转换的模型类型
let book = Reflect.model(bookData, type: Book.self)

let book = Reflect.model(bookData, type: Book.self)

let casts = Reflect.modelArray(castsData, type: Cast.self)
=======
###补充方法
补充方法皆遵守于协议,可代码提示
####1.需要替换的属性名
希望将json的title属性对应到模型的tt属性
func setupReplacePropertyName() -> [String : String] {
return ["title": "tt"]
}
####2.模型内嵌套子类模型 需要指定子类模型的key以及子类的类名
func setupReplaceObjectClass() -> [String : String] {
return ["images": "Images"]
}
####3.模型内嵌套子类模型数组 需要指定子类模型数组的key以及子类的类名
func setupReplaceElementClass() -> [String : String] {
return ["tags": "Tag"]
}
####完整模型演示
class Book: NSObject {
var tt: String?
var pubdate: String?
var image: String?
var binding: String?
var pages: String?
var alt: String?
var id: String?
var publisher: String?
var summary: String?
var price: String?
var images: Images?
var tags: Array<Tag>?
func setupReplacePropertyName() -> [String : String] {
return ["title": "tt"]
}
func setupReplaceObjectClass() -> [String : String] {
return ["images": "Images"]
}
func setupReplaceElementClass() -> [String : String] {
return ["tags": "Tag"]
}
}
======= ###帮助 1.如果在使用过程中遇到bug,或是有期待的功能,请留下Issues联系我,我将尽快答复
2.如果希望能够完善这个框架,敬请pull request
E-mail: [email protected]


