测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可协议 | MIT |
发布最后发布 | 2017 年 3 月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Alex Corlatti 维护。
依赖项 | |
RealmSwift | >= 0 |
SwiftyJSON | >= 0 |
要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install
。
您的 Realm
对象可以继承自 SwiftyJSONRealmObject
,这意味着您必须实现所需的初始化器 convenience required init(json: JSON)
,将 JSON 值与对象属性映射,如下所示:
class MyObject: SwiftyJSONRealmObject {
dynamic var id = ""
dynamic var type = ""
dynamic var name = ""
override static func primaryKey() -> String? {
return "id"
}
convenience required init(json: JSON) {
self.init()
self.id = json["id"].stringValue
self.type = json["type"].stringValue
self.name = json["name"].stringValue
}
}
现在您可以直接从 JSON 创建对象
...
let json = [
"id": "1",
"type": "type1",
"name": "Single Object"
]
let myObj = MyObject(json: JSON(json))
// Do something with it and/or save it in Realm
...
您也可以使用 SwiftyJSONRealmObject
类方法 createList(ofType type: T.Type, fromJson json: JSON)
创建对象列表
...
let jsonList = [
[ "id": "1", "type": "type1", "name": "Object 1" ],
[ "id": "2", "type": "type2", "name": "Object 2" ],
[ "id": "3", "type": "type3", "name": "Object 3" ]
]
let myObjList = SwiftyJSONRealmObject.createList(ofType: MyObject.self, fromJson: JSON(jsonList))
// Do something with it and/or save it in Realm
...
SwiftyJSONRealmObject
是与由 AlamofireRouter
和 AlamofireUIManager
组成的 Web API 管理工具套件完美集成的。 (请参阅特定文档了解它们如何工作)
...
let netManager = AlamofireUIManager.sharedInstance
netManager.request(MyAPI.myRequest(myParameter: "aValue"), completionHandler: { json in
let myObj = MyObject(json: json)
// Do some stuff
})
...
Alex Corlatti,[email protected]
SwiftyJSONRealmObject 可在 MIT 许可协议下使用。有关更多信息,请参阅 LICENSE 文件。