ios - Xcode - 如何修复 'NSUnknownKeyException' ,原因 : … this class is not key value coding-compliant for the key X"error?

标签 ios macos cocoa cocoa-touch interface-builder

我正在尝试将 UILabel 与在我的类中创建的 IBOutlet 链接。

我的应用程序因以下错误而崩溃。

这是什么意思?

我该如何解决?

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

最佳答案

您的 xib 中的连接可能较差。

我多次遇到此错误。虽然在这种情况下 TechZen 的答案是绝对正确的,但另一个常见原因是当您更改 .h/.m 中 IBOutlet 属性的名称时,您已经将其连接到 Nib 中的文件所有者.

从你的 Nib :

  1. 在 IB 中选择对象并转到“连接检查器”。
  2. 在“引用 socket ”下,确保您的对象尚未连接到旧属性名称...如果是,点击小“x”删除引用并再次构建。

    enter image description here

如果您使用 Storyboard,另一个常见原因是您的 UIButton 可能有多个分配(解决方案与 Nib 几乎相同):

  1. 打开 Storyboard并右键单击 UIButton
  2. 您将看到该按钮有多个分配/引用。 删除带有小“x”的“Main...”灰色窗口之一:

    example 2

关于ios - Xcode - 如何修复 'NSUnknownKeyException' ,原因 : … this class is not key value coding-compliant for the key X"error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56591387/

相关文章:

ios - 每次我滚动 cell.viewWithTag 都会在展开发现 nil 时给出 fatal error

python 意外退出运行 pyautogui

cocoa - NSAttributedString initWithHTML 字符编码不正确?

cocoa - 如何在 NSMenuItem 中绘制我自己的等效键?

iphone - GameCenter 整合并发症?

ios - 我怎样才能使这个与 UIScrollView 一起工作?

ios - 在自定义 UIButton 子类上添加带圆角的阴影层

macos - 尽管已安装,但在 MacOS (Monterey) 中未找到 .NET 5

objective-c - 从 Storyboard 手动打开 NSWindow

cocoa - Cocoa 中等效的 C# 'Thread.Join()' 是什么?