SwiftyJSONRealmObject 1.0.0

SwiftyJSONRealmObject 1.0.0

测试已测试
语言语言 SwiftSwift
许可协议 MIT
发布最后发布2017 年 3 月
SwiftSwift 版本3.0
SPM支持 SPM

Alex Corlatti 维护。



 
依赖项
RealmSwift>= 0
SwiftyJSON>= 0
 

  • Alex Corlatti

SwiftyJSONRealmObject

示例

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install

要求

  • iOS 8.0+ / Mac OS X 10.9+ / tvOS 9.0+ / watchOS 2.0+
  • Xcode 7.3+

使用

您的 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

...

与 AlamofireRouter 和 AlamofireUIManager 一起使用

SwiftyJSONRealmObject 是与由 AlamofireRouterAlamofireUIManager 组成的 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 文件。