【问题标题】:iPad-specific View crashes on launchiPad 特定的 View 在启动时崩溃
【发布时间】:2011-08-25 20:21:10
【问题描述】:

我正在尝试学习 iOS (4.3) 编程并陷入困境。我正在使用基于 Windows 的应用程序,并将其设置为同时使用 iPhone 和 iPad 视图。

它崩溃了:

self.window.rootViewController = self.viewController;

我得到了错误

'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "SwitchViewController" nib

但是,view outlet 没有设置。

这个错误的大部分内容都是为了确保您的视图正确连接到控制器并且我的视图已连接。该代码适用于 iPhone 视图,但不适用于 iPad 视图。每个视图中的代表和其他连接都是相同的,这可能是问题所在,但我不知道需要什么不同。

我使用命名约定here 来加载不同操作系统的视图。我认为这意味着只要我将 _iPhone/_iPad 附加到名称的末尾,程序就会自动选择正确的视图,并且当我添加 iPad 视图时它的行为确实发生了变化,所以我认为它正在达到它。

在我分离 iPhone(最初是通用视图)和 iPad 之间的视图之前,iPad 代码与通用视图一起使用,并且在添加视图时我没有更改任何代码。

【问题讨论】:

  • 我假设您将目标设置为通用应用程序?在这种情况下,您处理视图切换的任何代码都会很高兴看到。听起来像是一个有趣的错误......你确定你已经设置了所有的网点吗?您收到的错误似乎表明并非如此。
  • 具体来说,我认为错误可能是指您需要将文件所有者的视图出口连接到实际的 xib 视图,用于您的 SwitchViewController。
  • 如果你愿意看一下,我上传了整个项目。请原谅随机按钮名称。
  • 我现在正在查看它,它对我来说并没有崩溃,但它只显示您的 MainWindow_iPad.xib。我猜这不准确?
  • 不,我要崩溃了。也许我会尝试在新文件夹中重新制作项目...谢谢!

标签: iphone ipad interface-builder crash ios4


【解决方案1】:

在你的 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 开头添加这一行:

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) nibNameOrNil = @"iPadXibName";

并确保 ipad 的 xib 已连接所有正确的插座(如果它仅作为 ipad 实现,则可能是这种情况,但在合并 iphone 和 ipad 版本时您可能添加了一些内容或忘记添加一些内容) .

【讨论】:

  • 不幸的是,这似乎没有改变任何东西。
【解决方案2】:

我在一个新项目中重新编写了我的代码,它立即运行良好。原来的项目出了点问题。

【讨论】:

    猜你喜欢
    • 2017-01-24
    • 1970-01-01
    • 2022-08-10
    • 2017-12-06
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    相关资源
    最近更新 更多