【问题标题】:Xcode bug? - this class is not key value coding-compliant for the key myprogressBar.'Xcode 错误? - 此类与键 myprogressBar 的键值编码不兼容。
【发布时间】:2014-05-17 13:45:49
【问题描述】:

所以我使用 Xcode 的 GUI 功能添加了一个UIProgressView,方法是将它从对象库滑动到我的视图控制器上,称为 myprogressBar。然后我为它设置了一个IBOutlet 变量/属性,然后在实现中合成它。然后我决定删除我刚刚添加的所有内容,方法是选择视图控制器上的视图并按删除,以及变量、属性和综合语句。该视图在视图控制器中不再可见,并且不再列在“视图控制器场景”列表下。添加一些附加功能后,我点击“构建”,它编译和链接没有问题。然而,在程序的早期,它遇到了一个运行时错误,告诉我

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

我在我的项目中搜索了 myprogressBar,但什么也没找到。 Xcode 似乎没有删除对 myprogressBar 的引用。

所以我的问题是:这是一个错误还是有办法正确删除引用(我似乎没有使用)?

【问题讨论】:

  • 打扫干净。如果这无助于重新启动 Xcode。如果这也无济于事,请重新启动您的 Mac。通常应该这样对待这些神秘的错误
  • @AndreyChernukha 我做了一个干净的,重新启动 Xcode,并重新启动 Mac,但仍然收到相同的错误消息。
  • 你知道吗?检查您分配 IBAction 的 Interface Builder 的那部分,您知道我的意思吗?忘记叫什么了,因为好久没用IB了。我很确定 IBAction 仍然挂在那里
  • @AndreyChernukha 成功了。访问 XML 文件“com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB”并转到“connections”标签,有一些恶意引用。所以只需要删除它们,现在一切正常。谢谢!

标签: ios xcode interface-builder runtime-error


【解决方案1】:

只需 Cmd + Shift + F 抱怨它的键。它会在 Xcode 的 Utilities 区域(右)中找到并显示它。找到钥匙 - 它旁边应该已经有一个感叹号。单击它旁边的“x”将其删除,您应该一切顺利。

【讨论】:

    【解决方案2】:

    这就是我解决这个偶尔出现的问题的方法:

    1. 关闭 Xcode 和您的项目。

    2. 使用 Finder 打开包含 Xcode 项目的文件夹。

    3. 输入主文件夹,即包含您的代码文件的文件夹(不是 Test 文件夹)。

    4. 找到 Base.lproj 文件夹并将其打开。

    5. 右键单击文件 Main.storyboard 并选择打开方式 -> 文本编辑。

    6. 使用搜索文本选项查找错误值 (myprogressBar)。

    7. 擦除包含文本的每一行,然后保存并关闭它。

    8. 使用 Xcode 重新打开您的项目,清理它(菜单 Product)并运行它。

    这些步骤对我有用。

    【讨论】:

      【解决方案3】:

      对于任何好奇的人。只需单击 Xcode 按钮(如下所示)。它应该打开一个 XML (XIB) 文件。查找 &lt;connections&gt; 标签,您会在其中找到那些讨厌的流氓引用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-18
        • 2017-09-27
        • 2017-12-15
        • 1970-01-01
        • 2015-08-27
        • 2011-03-17
        • 2012-09-24
        相关资源
        最近更新 更多