【问题标题】:"loaded the "XXX" nib but the view outlet was not set." - again“加载了“XXX”笔尖,但未设置视图出口。” - 再次
【发布时间】:2013-07-01 17:01:55
【问题描述】:

首先,我检查了有关该主题的所有其他问题:提供的答案似乎是:

  1. 确保将文件的所有者设置为自定义视图控制器类(我已经这样做了)
  2. 确保您有一个从视图到文件所有者(我有)的引用出口

我的代码被编译成一个静态库,我导出了 .a 文件和 xib 文件。 我使用它的示例应用程序在其包中包含 xib(在构建阶段“复制包资源”)

在我的库代码中,我在一个单独的 UIViewContoller 子类中有一个函数,用于从 nib 创建视图控制器:

- (void) presentCustomController
{
  self.vCtrl = [[CustomController alloc] initWithNibName:@"CustomController" bundle:nil];
  ...
}

当我运行示例应用程序时,我检查了 self.vCtrl 的 _view 成员,它是 0x0000,当然这就是导致帖子标题异常的原因。 我的理解是,该成员指向的视图是从 xib 文件“自动生成”的,它的子项是我放入其中的控件(按钮等)。 我的哪一部分理解下降了?问题是否与它在静态库中的事实有关? 感谢您的帮助。

【问题讨论】:

  • cmd + k 清理项目并重新运行?
  • 您可以将其缩短为[[CustomController alloc] init],它会自动选择笔尖。
  • 不知道xcode能不能清理XXX项目
  • 这绝对是搞笑@Ben

标签: ios xcode uiviewcontroller nib


【解决方案1】:

如果您 100% 将您的视图连接到文件的所有者,那么我建议您执行以下操作:

  1. 如果您愿意,请清理项目 (cmd+shift+K) 或清理构建文件夹 (cmd+shift+alt+K)
  2. 退出 Xcode
  3. 重启 Xcode

这应该可以解决它。

【讨论】:

  • 谢谢。我退出了 Xcode,手动删除了所有中间文件,删除了所有导出的 xib 文件,所以我知道我处于“非常干净”的状态。在示例应用程序包中重新构建所有并手动检查导出的 xib(是的,我很偏执)确认了连接,当我运行它时,它工作了。谢谢。
  • 谢谢!为此挣扎了一段时间。对我来说毫无意义,但是清理并重新启动 Xcode 就可以了!
【解决方案2】:

你有多个目标吗?

  1. 确保将文件的所有者设置为您的自定义视图控制器类(我已经这样做了)

我遇到了一个类似的问题,我认为我正在设置文件所有者的自定义类,但是,IB 实际上并没有设置它。打开 XIB 作为其原始 xml 并搜索自定义类名称。

对我来说,这是因为视图控制器的 .m 未包含在我的特定目标中。要解决此问题,请选中目标成员窗格中的所有框。

【讨论】:

  • 感谢您的建议 - 事实上,我确实将 xib 作为原始文件打开并进行了检查,但忘记在我原来的问题中说明这一点。上面的答案解决了问题 - 工具问题而不是程序问题。
猜你喜欢
  • 2011-07-20
  • 1970-01-01
  • 2018-01-02
  • 1970-01-01
  • 2019-06-09
  • 1970-01-01
  • 2012-03-10
  • 1970-01-01
  • 2014-11-22
相关资源
最近更新 更多