首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >awakeFromNib vs awakeFromNib -当我们调用awakeFromNib时,是否设置了插座和插口?

awakeFromNib vs awakeFromNib -当我们调用awakeFromNib时,是否设置了插座和插口?
EN

Stack Overflow用户
提问于 2016-05-10 20:00:18
回答 1查看 388关注 0票数 0

我试图理解视图控制器的生命周期,并且我读过一些关于awakeFromNib的自相矛盾的声明。文档说,所有的插座都应该在awakeFromNib中设置,但要用I see that it's not always true设置。awakeFromNibprepareForSegue之间的通话顺序是什么,以及何时可用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-12 15:38:32

您的视图控制器及其视图层次结构在运行时从单独的nib文件中加载。到视图层次结构的出口在加载视图层次结构之前不会连接,这发生在加载视图控制器之后。(我已经在更深入的in this answer中解释了这一点。)

假设您在导航控制器中有一个“主”视图控制器。主视图控制器执行一个segue来推送“详细”视图控制器。以下是事件的顺序:

  1. 详细视图控制器从它的nib加载。如果故事板场景包含其他顶级对象,也会加载这些对象。
  2. 详细视图控制器接收到awakeFromNib:细节视图控制器到场景中其他顶级对象的出口被连接,但是到视图层次结构的出口没有连接。
  3. 主视图控制器接收指向详细视图控制器的prepareForSegue
  4. Segue要求导航控制器推送详细视图控制器。
  5. 导航控制器要求详细视图控制器的视图,以添加到导航控制器的视图层次结构。
  6. 详细视图控制器加载其视图层次结构nib。这将详细视图控制器的出口连接到其视图层次结构。
  7. 视图层次结构中的所有对象都接收awakeFromNib
  8. 详细视图控制器接收viewDidLoad
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37147871

复制
相关文章

相似问题

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