initWithNibName不起作用

时间:2012-08-27 05:29:45

标签: iphone ios interface-builder

在尝试添加新视图时遇到了这个非常令人沮丧的问题,我有两种不同类型的视图:LargeCoverViewControllerCoverViewController

我创建了一个LargeCoverViewController,如下所示:

LargeCoverViewController *tmpCover = [[LargeCoverViewController alloc] initWithNibName:@"LargeCoverViewController" bundle:nil andIssue:issue];

这只是有效,但当我尝试创建CoverViewController时,它拒绝工作

CoverViewController *tmpCover = [[CoverViewController alloc] initWithNibName:@"CoverViewController" bundle:nil andIssue:issue];

我认为它与.xib文件有关,当我这样做的时候,#34;工作"再次

CoverViewController *tmpCover = [[CoverViewController alloc] initWithNibName:@"LargeCoverViewController" bundle:nil andIssue:issue];

在Interface Builder中,类已正确设置,我的视图已正确链接。 (它基本上只是LargeCoverViewController的一个副本),我还缺少什么吗? 它变得非常令人沮丧...

编辑: 我的应用程序没有崩溃,如果我的nibname错误,应用程序应该崩溃,这不是这里的情况。

3 个答案:

答案 0 :(得分:3)

尝试创建新的单独XIB文件而不是复制整个XIB文件,然后将UI插座和视图从其他XIB复制到此新创建的XIB文件。

有时,Xcode会与复制粘贴混淆。我知道这不是正确的解决方案,但有时它可行。 :)

答案 1 :(得分:0)

复制ViewController时, fileowner的自定义类保持不变,因此请将其更改为新的ViewController,并在更改后再次绑定视图。

答案 2 :(得分:0)

您的应用程序是否在该行崩溃?检查控制台是否有日志。您可能收到了错误消息或崩溃日志。

如果您从任何其他XIB复制XIB资源,请检查链接的出口是否包含此新类可能无法使用的对象。

我希望这会对您有所帮助,并能够解决问题。