swift中的awakeFromNib()和viewDidLoad()之间的区别

sri*_*gde 29 viewdidload awakefromnib swift

我想知道awakeFromNib()和viewDidLoad()之间的关键区别,以便更清楚地了解它是如何工作的.请有人解释一下吗?

zap*_*aph 28

来自Apple文档:

awakeFromNib:

nib加载基础结构将awakeFromNib消息发送到从nib归档重新创建的每个对象,但只有在归档中的所有对象都已加载并初始化之后.当一个对象收到一个awakeFromNib消息时,它保证已经建立了所有的插座和动作连接.

请参阅:资源编程指南中的Nib文件

viewDidLoad:

在视图控制器将其视图层次结构加载到内存后调用此方法.无论视图层次结构是从nib文件加载还是在loadView方法中以编程方式创建,都会调用此方法.您通常会覆盖此方法以对从nib文件加载的视图执行其他初始化.

  • 所以甚至在viewDidLoad之前调用awakeFromNib? (3认同)
  • 请注意,可能不会调用`awakeFromNib:`. (2认同)
  • 因此,对于这个问题(http://stackoverflow.com/questions/36673624/manipulate-ib-outlets-in-awakefromnib-for-uicollectionviewcell-even-if-not-using),awakeFromNib将成为操纵IB网点的正确位置?基本上,问题是,如果使用自定义XIB***,则在何处初始化UICollectionViewCell的出口? (2认同)