5

如标题所示,我想知道 in 的“默认”实现是viewDidLoad什么UIViewController?它真的有什么作用吗?如果在我的UIViewController's子类中我写也有关系

-(void)viewDidLoad{
  [super viewDidLoad];
  /*custom code here*/
}

或者

-(void)viewDidLoad{
  /*custom code here*/
  [super viewDidLoad];
}

?

PS 这不是重复的,在其他问题中人们问他们何时应该调用 [super viewDidLoad],而我主要关心的是 UIViewController 的实现如何处理它。

4

2 回答 2

5

该实现什么也不做,如果您在视图加载后没有设置要做,则可以安全地删除。但是,在这里没有自定义设置是相当罕见的。这是您的视图控制器告诉您其所有 UI 对象都可用于自定义数据的地方。它包含在模板中,并带有一个空实现作为提醒:这里是执行此操作的位置。

至于什么时候调用super:一般的期望是setup或initialization方法super在工作之前调用,而teardown方法super在工作之后调用。

于 2013-03-29T14:50:25.403 回答
0

ViewDidLoad方法 在控制器的视图加载到内存后调用。这是您想要实例化任何实例变量并构建在此视图控制器的整个生命周期中存在的任何视图的地方。但是,此时视图通常还不可见

无论视图层次结构是从 nib 文件加载还是在 loadView 方法中以编程方式创建,都会调用此方法。您通常覆盖此方法以对从 nib 文件加载的视图执行额外的初始化。

详细信息

于 2013-03-29T16:03:05.487 回答