【问题标题】:App crashes when tab bar item is selected选择标签栏项目时应用程序崩溃
【发布时间】:2026-01-26 11:05:01
【问题描述】:

我有一个带有 UIScrollView 的标签栏项目,并且所有代码都有效。

我将 IB 中的 UIScrollView IBOutlet 链接到我放置在我的视图中的 UIScrollView。

当我运行应用程序并选择标签栏项目时,我收到以下错误。

由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]:此类不符合键值滚动视图的键值编码。”

我不知道这是什么。当我断开 ScrollView IBOutlet 时,没有崩溃。

谢谢

【问题讨论】:

    标签: iphone uiscrollview uiscrollviewdelegate


    【解决方案1】:

    您可能在代码中重命名了 scrollView 的名称,而无需在 Interface Builder 中重新连接插座。仔细检查您的代码以确保拼写与 Interface Builder 中的拼写相同,并且为了更好地衡量,请将插座重新连接到 scrollView。

    参考this Apple forum threadUITabBarController有多个UIViewControllers,每个都有自己的nib文件分配给它。确保更改UIViewController 的类文件由您决定:在每个视图控制器的 nib 文件中在标签栏控制器的 nib 文件中,您还必须执行相同的操作通过更改每个视图控制器的 nib 文件和类。

    所以总而言之,您必须在两个地方更新设置:视图控制器的各个 nib 文件标签栏控制器的 nib 文件。将其视为在各个 nib 文件和选项卡栏控制器之间创建连接/桥梁。

    一旦建立这些连接,您的程序访问您的scrollView 插座应该没有问题,因为它最终是如何访问它的:通过您的标签栏控制器使用键值编码(至少,这是我的理解)。目前还不能,因为标签栏控制器连接不正确。

    【讨论】:

    • 不,我检查了几次。谢谢。仍然不确定它是什么/
    • 您是否还仔细检查了 Interface Builder 中选项卡视图控制器的类?并且文件的所有者视图连接正确吗?看看这个帖子discussions.apple.com/thread.jspa?threadID=1598422,看看第一页倒数第四个帖子。
    最近更新 更多