ObjectMapper - 在子 class 中初始化一个空的 init
ObjectMapper - Initialize an empty init in child class
我有一个名为 "Base" 的基础 class,它实现了 Mappable 协议。我已经按照下面的描述对 class 进行了子class。
class Base: Mappable {
var base: String?
required init?(map: Map) {
}
func mapping(map: Map) {
base <- map["base"]
}
}
class Subclass: Base {
var sub: String?
required init?(map: Map) {
super.init(map: map))
}
override func mapping(map: Map) {
super.mapping(map: map)
sub <- map["sub"]
}
}
是否可以在 subclass 中创建一个空的 init,我如何才能像这样创建一个 subclass 的实例?
var obj = Subclass()
您可以在 Base
中添加 init()
,在 SubClass
中添加 override init()
class Base: Mappable {
var base: String?
init() {}
required init?(map: Map) {
}
func mapping(map: Map) {
base <- map["base"]
}
}
class Subclass: Base {
var sub: String?
override init() {
super.init()
}
required init?(map: Map) {
fatalError("init(map:) has not been implemented")
}
override func mapping(map: Map) {
super.mapping(map: map)
sub <- map["sub"]
}
}
我有一个名为 "Base" 的基础 class,它实现了 Mappable 协议。我已经按照下面的描述对 class 进行了子class。
class Base: Mappable {
var base: String?
required init?(map: Map) {
}
func mapping(map: Map) {
base <- map["base"]
}
}
class Subclass: Base {
var sub: String?
required init?(map: Map) {
super.init(map: map))
}
override func mapping(map: Map) {
super.mapping(map: map)
sub <- map["sub"]
}
}
是否可以在 subclass 中创建一个空的 init,我如何才能像这样创建一个 subclass 的实例?
var obj = Subclass()
您可以在 Base
中添加 init()
,在 SubClass
override init()
class Base: Mappable {
var base: String?
init() {}
required init?(map: Map) {
}
func mapping(map: Map) {
base <- map["base"]
}
}
class Subclass: Base {
var sub: String?
override init() {
super.init()
}
required init?(map: Map) {
fatalError("init(map:) has not been implemented")
}
override func mapping(map: Map) {
super.mapping(map: map)
sub <- map["sub"]
}
}