此问题适用于仅使用程序的应用程序,这些应用程序不使用nib文件,其中已删除故事板并创建窗口并在应用程序委托中提供根视图。我在此处阅读的一些已接受的答案似乎与Apple的文档相冲突,请告诉我这是否正确:
创建UIViewController
时,创建其基础的方法应放在loadView
中,而无需调用super.loadView
:
override func loadView() {
// build something
buildSomething()
}
进行最后修改的方法应放在viewDidLoad
调用super.viewDidLoad
:
// view did load
override func viewDidLoad() {
super.viewDidLoad()
// arrange something that requires it be built first
arrangeSomething()
}
或者只应在特殊情况下调用super.viewDidLoad()
?如果是这样,他们是什么?
答案 0 :(得分:5)
这是正确的,如果您实施loadView
,则不应致电super
。正如the documentation所说:
此方法的自定义实现不应调用
super
。
但如果您实施viewDidLoad
,则应始终致电super
。