2

简单的问题,

如果您使用的是 UIStoryboard,UIViewController 会调用 awakeFromNib 吗?

如果不是,我们应该使用的替代方法是什么?

干杯!

4

3 回答 3

5

是的,awakeFromNib在使用UIStoryboard.

虽然 .storyboard 文件是一个 XML 文档,但当您编译/打包您的应用程序时,它将被转换为一组传统的 .nib 文件,因此解码这些文件将与基于 xib 的项目中的相同。

于 2012-07-19T16:06:01.907 回答
4

是的,awakeFromNib正在被调用。

根据文档

初始化从情节提要加载的视图控制器 当您在情节提要中创建视图控制器时,您在 Interface Builder 中配置的属性存储在存档中。稍后,当视图控制器被实例化时,这个存档被加载到内存中并被处理。结果是一组对象,其属性与您在 Interface Builder 中设置的属性相匹配。以下是该存档的加载方式:

如果您的视图控制器实现了一个 initWithCoder: 方法,则调用该方法来处理存档中的信息。如果您的视图控制器没有实现 initWithCoder: 方法,则会调用您的视图控制器的 init 方法。

加载存档中的对象后,iOS 会在任何实现此类方法的对象上调用 awakeFromNib 方法。您可以使用此方法执行任何需要已实例化其他对象的配置步骤。

于 2012-07-19T15:32:31.717 回答
3

awakeFromNib使用 UIStoryboard 时会调用 Yes 。

于 2012-07-19T15:34:33.030 回答