gpt4 book ai didi

ios - initWithNibName 没有被调用

转载 作者:可可西里 更新时间:2023-11-01 03:28:18 28 4
gpt4 key购买 nike

我需要将一些自定义逻辑放入我的 iPhone 应用程序中,以便根据您运行的 iOS 版本选择不同的 XIB 文件(即 iPhone 或 iPad 将显示不同的 XIB 文件)。

我从第一天开始就构建了整个 iPhone 应用程序,一切都很好,在每个选项卡中使用 tabbarcontroller 和标准导航 Controller 。

所以我实现了:

- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle

方法,才发现没有调用到。 (我有一个断点和日志语句,但没有命中)。

有人知道这是为什么吗? 或者我怎样才能实现这个功能?

我在某处读到 initWithNibName 仅在您调用它时被调用,即当您以编程方式构建 View 层次结构时,这是真的吗?

最佳答案

如果您在将它添加到您的导航 Controller 之前没有做这样的事情:

SomeViewController *someViewController = [[SomeViewController alloc] initWithNibName:...];

那么很有可能您重写了错误的方法。

如果你的 View Controller 存在于一个 nib 文件中,比如说你的导航 Controller 的 nib 文件,它将作为一个新的 View Controller 对象从 nib 文件中解压,而不是用它自己的 nib 文件创建,所以上面的方法成功了'被调用。

您必须改写 -awakeFromNib

关于ios - initWithNibName 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663430/

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