在UITabBarController切换视图时出错

问题描述:

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

*** 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是我导航到的选项卡的rootview。

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

+0

你如何将子视图添加到你的tableViewController?您的视图是否已正确初始化/存在以添加到您的MessageTableViewController? –

+0

首先找出这是哪个'MessageTableViewController'。它是您正在导航还是来自哪个标签的VC? – Mundi

+0

更新的问题与您的问题的答案。 –

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

+0

这个伎俩。我的第三个选项卡的VC被设置为包含emptyView的第二个VC。谢谢! –

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

您可能想尝试在Interface Builder中检查这两个项目,以查看是否正在创建此错误。

+0

在我的任何XIB和类中似乎都没有任何IB错误或连接断开。你推荐的其他建议? –

+0

看起来像你了!这就是我的意思是'你的文件所有者没有确定正确的类别'。 – superjessi