可以多次调用 viewDidLoad 吗?
Posted
技术标签:
【中文标题】可以多次调用 viewDidLoad 吗?【英文标题】:Can viewDidLoad be called mutiple times? 【发布时间】:2011-10-14 22:12:44 【问题描述】:文档说“在视图控制器将其关联视图加载到内存后调用此方法。”我的问题是:
1) 如果我初始化一个视图控制器,则调用 viewDidLoad,或者视图实际上是否必须添加为当前视图的超级视图才能被调用
2)如果我添加了视图控制器视图,并且调用了viewDidLoad,然后我删除了视图控制器视图,然后再重新添加它,是否会再次调用viewDidLoad?
【问题讨论】:
【参考方案1】:viewDidLoad
在视图加载时被调用。访问 vc.view
属性时会发生这种情况。它通常发生在将视图添加到视图层次结构之前,但如果更早访问属性,它可能会更早发生。
如果您从视图层次结构中删除视图,然后发生内存警告并调用 viewDidUnload
,则如果再次访问 view
属性,则将再次调用 viewDidLoad
。但这是第二次调用它的唯一方法;如果您的视图永远不会卸载,那么viewDidLoad
将永远不会重复。
【讨论】:
以上是关于可以多次调用 viewDidLoad 吗?的主要内容,如果未能解决你的问题,请参考以下文章
是否在 UITabBarController 中多次调用 viewDidLoad?
在 Xcode 4.3 中设置属性值不固定/viewDidLoad 被多次调用