如果以前有人问过这个问题,我很抱歉,我已经搜索了很多,很多答案都来自早期的 Swift beta 版本,当时情况有所不同。我似乎找不到确切的答案。
我想子类 UIViewController
,并有一个自定义初始值设定项,让我设置它在代码容易。我在斯威夫特做这个有点困难。
我想要一个 init()
函数,我可以用来传递一个特定的 NSURL
,然后我将与视图控制器一起使用。在我看来,它看起来像 init(withImageURL: NSURL)
。如果我添加这个函数,它会要求我添加 init(coder: NSCoder)
函数。
我相信这是因为它在超类中标记了 required
关键字?所以我必须在子类中做吗?我加上一句:
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
现在怎么办?我的特殊初始化器是否被认为是 convenience
初始化器?指定的人?我要调用超级初始化程序吗?来自同一个类的初始值设定项?
如何将我的特殊初始化器添加到 UIViewController
子类中?