我经常看到这行代码
[super awakeFromNib]
在awakeFromNib
方法中实现视图控制器
我的理解是它告诉awakeFromNib
这个视图控制器的超级类(它将是窗口)。
我对吗?如果是这样,为什么我们必须告诉窗口唤醒UIView Controller子类的awakeFromNib
方法?
答案 0 :(得分:5)
到目前为止......我的理解是它告诉超级类这个视图控制器......
哎呀 - 这是你混乱的根源。(这将是窗口)
“视图控制器的超类”是UIViewController
。 “super”指的是你的UIViewController子类继承的基类;它与包围你视图的窗口没有任何关系。
所以,除了你在子类实现中所做的一切之外,这样做是调用基本awakeFromNib
的默认UIViewController
实现。
答案 1 :(得分:1)
上面大卫所说的是正确的,
现在提出您的问题“为什么我们必须告诉窗口唤醒UIView Controller子类的awakeFromNib方法?”
如果在ViewController加载之前有任何自定义修改或任何要加载的数据,我们应该使用awakeFromNib
。
awakeFromNib
。