gpt4 book ai didi

ios - Swift 2.0 子类化 UIViewController 的子类并调用便利初始化器

转载 作者:可可西里 更新时间:2023-10-31 23:55:23 26 4
gpt4 key购买 nike

对于 Swift 2.0/Xcode 7beta3 中 UIViewController 的指定初始化器和便利初始化器有一些困惑。我们的 UIViewControllers 都是在代码中定义的,没有 Nibs

目前类A是这样继承自UIViewController的

class A : UIViewController {
convenience init() {
...
self.init(nibName:nil, bundle:nil)
...
}
}

那么B类继承自A类,应该重载convenience init并将其调用为super.init()

class B : A {
convenience init() {
super.init()
...
}
}

编译器不允许这样做 Must call a designated initializer of the superclass '...' error on super.init()

最佳答案

你需要指定你的初始化器,而不是方便:

class A : UIViewController {
init() {
super.init(nibName:nil, bundle:nil)
}
required init?(coder aDecoder: NSCoder) {
fatalError("")
}
}

class B : A {
override init() {
super.init()
}
required init?(coder aDecoder: NSCoder) {
fatalError("")
}
}

这为您提供了您正在寻找的继承结构。

关于ios - Swift 2.0 子类化 UIViewController 的子类并调用便利初始化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31441776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com