【问题标题】:Error when switching views in UITabBarController在 UITabBarController 中切换视图时出错
【发布时间】:2011-08-14 19:40:45
【问题描述】:

我有一个有 3 个选项卡的 UITabBarController。每个选项卡都包含一个 UITableViewController。当我将子视图添加到 UITableView 之一然后切换到另一个选项卡时,我收到错误:

    *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: 
'[<MessageTableViewController 0x703f6b0> setValue:forUndefinedKey:]: this class is not key 
value coding-compliant for the key emptyView.'

emptyView 是我添加的子视图。我不确定为什么要切换到的新视图需要 emptyView?

更新: 我通过以下方式添加到 emptyView:

[self.view addSubview:emptyView];

在我的 viewDidAppear 方法中。

MessageTableViewController 是我要导航到的选项卡的根视图。

我还注意到,无论我导航到哪个标签,我都会收到此错误。 emptyView 仅在我的 1 个 VC 的 NIB 中。不是全部三个。每个选项卡都有自己独特的 VC。

【问题讨论】:

  • 如何将子视图添加到 tableViewController?您的视图是否已正确初始化/呈现以添加到您的 MessageTableViewController?
  • 首先找出这是哪个MessageTableViewController。它是您导航到或从标签的 VC 吗?
  • 更新了问题的答案。

标签: iphone objective-c cocoa-touch uitableview uitabbarcontroller


【解决方案1】:

这是一个常见错误,当您更改或删除了该类的属性,并且没有更新 Interface Builder 中的连接时。当您的文件所有者没有识别出正确的类时,也会发生这种情况。

您可能想尝试在 Interface Builder 中检查这两项,看看是否有任何一项产生了此错误。

【讨论】:

  • 我的任何 XIB 和类中似乎都没有任何 IB 错误或连接断开。您还有其他建议吗?
  • 看来你明白了!这就是我所说的“您的文件所有者没有识别出正确的类”的意思。
【解决方案2】:

尝试检查是否在 Interface Builder 身份检查器中正确设置了类。 然后,您需要查看自定义类标题下的对象类是否设置正确。

【讨论】:

  • 成功了。我的第三个选项卡的 VC 设置为包含 emptyView 的第二个 VC。谢谢!
猜你喜欢
  • 2011-07-13
  • 1970-01-01
  • 2011-11-02
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
  • 2017-08-29
  • 2023-03-23
  • 1970-01-01
相关资源
最近更新 更多