4

我的应用程序在启动时崩溃并出现以下错误:

由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]:此类与键 tableViewChannels 的键值编码不兼容。

这是一个我继承并重做的项目。我最初认为 tableViewChannels 是一个旧数组,但我在 XCode 中搜索了整个项目,它没有出现在任何地方。

我用我最喜欢的文本编辑器进入故事板查看原始 XML,确实找到了两个“tableViewChannels”实例,它们似乎是旧的 IBOutlets(它们实际上不再出现在可视化故事板中)。我删除了两者,保存,清理了构建文件夹,重新启动了 XCode,但仍然崩溃并出现完全相同的错误。我对这段代码仍然潜伏在项目中的什么地方感到困惑。我很感激任何帮助。谢谢!

4

4 回答 4

6

我不完全确定,但这个问题可能是因为在你的故事板/xib 中必须有一个 IBOutlet,它是之前连接的变量,但后来这个变量被删除了。请检查每个 xib,看看你是否有这个。否则更好方法是..在xcode中输入“tableViewChannels”..选择任何尝试重构它的单词..这将列出它要重构的所有文件..包括xibs。:) 这样你就可以确定你的 xib 中是否有 tableViewChannels

于 2013-10-04T17:30:44.167 回答
1

三步轻松解决:

  1. 二次点击故事板文件,在我的例子中是“Storyboard.storyboard”
    点击“打开为”,然后点击“源代码”

  2. 在键盘上按“Command”+“F”,找到键,在本例中为“tableViewChannels”

  3. 找到后,选择该行并将其擦除。

如前所述,故事板中的连接有问题,试图连接已删除或不存在的属性。几乎总是,该属性存在并且在不知道使用情节提要对您的应用程序造成的崩溃的情况下被删除。

于 2014-02-10T18:25:07.937 回答
1

您可以通过在终端中搜索项目目录来查看 Xcode 是否有任何仍包含“tableViewChannels”的元数据文件:

cd [path to project]
grep -r --include='*' tableViewChannels .
于 2013-10-04T17:44:24.473 回答
0

有同样的问题,没有要删除的出口,这只是一个 XCode 问题,并通过删除派生数据和清理项目来解决。

于 2019-05-28T12:37:58.813 回答