gpt4 book ai didi

iphone - 如何加载已删除的 xib?

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

我创建了一个类“abc”,它是 UIViewController 的子类。在创建它时,我单击了自动为其创建 xib 的选项。现在 xcode 为我创建了 3 个文件1.abc.h2. abc.m3.abc.xib.

现在每当我创建一个 abc 类的对象时abc *a=[abc 分配];

即使我没有使用 initiwithNibName 初始化对象并使用它,它也会加载 xib 文件。那么这个 xib 文件是如何与 abc 对象相关联的。即使我删除了 abc.xib,它也会加载该 xib 文件。如果它不存在于项目空间中,我无法从它加载 xib 文件的位置理解。 xib和controller的关联存储在哪里?

提前致谢。

最佳答案

发生的事情是 initWithNibName:bundle: 的默认实现在 Main Bundle 中搜索与您的 View Controller 类同名的 Nib 文件。无论您是否选择自动创建 Nib 的选项,都会发生这种情况。参见 UIViewController文档(initWithNibName:bundle: 的讨论部分)。

现在 initWithNibName:bundle: 方法是 UIViewController 的默认初始化器,这意味着即使你不直接使用它(比如你使用 init 代替)它无论如何都会被调用。

最后,即使您从 XCode 中删除了 Nib 文件,出于某种原因(不确定原因)它也不会从 Main Bundle 中删除(至少在模拟器中是这样)。即使您清理并构建项目,它也会保留在那里。 我用来完全删除 Nib 文件的解决方案是从模拟器中删除应用程序,然后重新清理和构建。

希望这对您有所帮助!

关于iphone - 如何加载已删除的 xib?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8846926/

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