创建实现Mappable接口的对象的新实例

时间:2017-11-12 12:59:58

标签: swift swift3 objectmapper

我使用ObjectMapper library将模型对象(类和结构)转换为JSON。

但有时候我想创建没有JSON的对象。

支持,我有这样的课程:

class User: Mappable {
    var username: String?
    var age: Int?

    required init?(map: Map) {

    }

    func mapping(map: Map) {
        username    <- map["username"]
        age         <- map["age"]
    } 
}

我想创建没有JSON的对象,如下所示:

let newUser = User(username: "john", age: 18)

以这种方式创建对象是否可以用于实现 Mappable 的类?

1 个答案:

答案 0 :(得分:6)

使用username和age作为参数添加另一个init方法。

class User: Mappable {
    var username: String?
    var age: Int?

    init(username:String, age:Int) {
        self.username = username
        self.age = age
    }

    required init?(map: Map) {

    }

    func mapping(map: Map) {
        username    <- map["username"]
        age         <- map["age"]
    }
}

并像这样使用它。

let user = User(username: "hello", age: 34)