gpt4 book ai didi

objective-c - 从 nib 加载时未调用 UIViewController 子类 init

转载 作者:太空狗 更新时间:2023-10-30 03:40:01 24 4
gpt4 key购买 nike

我尝试覆盖 UIViewController 子类的默认 initWithNibName 指定初始化程序,如下所示:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
// Custom initialization
}
return self;
}

我还在头文件中包含了它的定义。但是,当我的 Application Delegate nib 加载 viewcontroller 时,不会调用初始化程序,只会调用 -viewDidLoad。

那么 nib 魔法如何实例化我的 View Controller ?为什么所有 XCode 模板都声明

// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.

当 View Controller 从另一个 nib 加载时,我的 initWithNibName 没有被调用是否正确?

最佳答案

您需要将初始化代码放在 awakeFromNib 方法中,以便它在从 Nib 加载时运行。 Nib 文件包含其包含的对象的存档版本,因此原则上不需要再次初始化它们。

关于objective-c - 从 nib 加载时未调用 UIViewController 子类 init,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1570836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com