我创建了一个类'abc',它是UIViewController的子类.在创建它的时候,我点击了自动为它创建一个xib的选项.现在xcode为我创建了3个文件1. abc.h 2. abc.m 3. abc.xib.
现在每当我创建abc类的对象,如abc*a = [abc alloc];
即使我没有使用initiwithNibName初始化对象并使用它,它也会加载xib文件.那么这个xib文件如何与abc对象相关联.即使我删除了abc.xib,它也会加载该xib文件.我无法理解它在哪里加载xib文件,如果它不在项目空间中.和xib和控制器的关联存储在哪里?
提前致谢.
正在发生的是initWithNibName:bundle:在主捆绑包中搜索与View Controller类同名的Nib文件的默认实现.无论您是否选择自动创建Nib的选项,都会发生这种情况.请参阅UIViewController文档(讨论部分initWithNibName:bundle:).
现在该initWithNibName:bundle:方法是UIViewController的默认初始化程序,这意味着即使你不直接使用它(比如说你使用init它),它也会在引擎盖下被调用.
最后,即使您从XCode中删除Nib文件,由于某种原因(不确定原因)它也不会从主程序包中删除(至少在模拟器中).即使你清理和建造项目,它也会留在那里.我用来完全摆脱Nib文件的解决方案是从模拟器中删除App,然后再次清理和构建.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
526 次 |
| 最近记录: |