首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在viewDidLoad之前执行deinit

在viewDidLoad之前执行deinit
EN

Stack Overflow用户
提问于 2017-02-09 07:20:02
回答 2查看 570关注 0票数 1

说"deinit在viewDidLoad之前执行“是没有意义的。如果不是亲眼所见,我是不会相信的。然而,在我的项目(Xcode8和Swift2.3)上,它确实100%地发生了。

有什么原因会发生这种奇怪的事情吗?

EN

回答 2

Stack Overflow用户

发布于 2017-02-09 08:22:00

当然,将视图控制器初始化为局部变量,不要访问它的视图,也不要将它添加到视图层次结构中并离开当前作用域。视图控制器将取消初始化,viewDidLoad()将永远不会被调用。

请记住,只有在首次显式访问视图控制器的view属性时,或者在视图控制器上调用loadView()loadViewIfNeeded()时,才会调用viewDidLoad()

票数 1
EN

Stack Overflow用户

发布于 2019-05-18 04:05:42

有类似的经历,发现我错误地调用了相同的segue两次。构造的第一个视图控制器立即被取消初始化(在viewDidLoad之前)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42125465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档