我正在尝试将NIB/XIB文件放入我称为Configuration.bundle的包中。当我试图从包中加载xib时,应用程序会崩溃,因为它找不到xib文件。
NSBundle *bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle]
pathForResource:@"Configuration" ofType:@"bundle"]];
[bundle load];
NSLog(@"bundle: %@", bundle);我得到了输出
bundle: NSBundle (尚未加载)
“还没装好”这部分让我有点害怕。为什么没装上子弹?
最后,当我尝试用视图控制器加载我的nib时
ConfigViewController *configViewController = [[ConfigViewController alloc] initWithNibName:@"ConfigViewController" bundle:bundle];我得到了输出
*终止应用程序的原因是:“无法在包中加载NIB:”NSBundle(尚未加载)“,并带有名称”ConfigViewController.xib“。
我已经尝试过了,不管有没有.xib。
有什么想法吗?
发布于 2012-12-11 17:44:23
load方法用于加载框架之类的可执行代码。
您的包不包含任何要加载的可执行文件,因此不需要调用bundle load。
如果包ir的名称正确,那么除了包加载之外,您编写的所有内容都是fine.Anyways,检查路径是否正确,不要嵌套太多的说明:
NSString* path=[ [NSBundle mainBundle] pathForResource: @"Configuration" ofType: @"bundle"];如果这个字符串是正确的路径,那么您可以确保在不调用bundle load的情况下正确地加载该包。
发布于 2015-03-28 12:58:28
首先,如果没有正确地创建一个包,它将不会被加载。因此,为了创建适当的包,下面是创建包的步骤:
现在,将该包复制到您的主要项目中。使用以下代码加载包:
NSString *path = [[NSBundle mainBundle] pathForResource:@"BundleName" ofType:@"bundle"];
NSBundle *bundle = [NSBundle bundleWithPath:path];"现在您已经准备好了新的包。
https://stackoverflow.com/questions/13825531
复制相似问题