Xcode错误? - 此类不是密钥myprogressBar的密钥值编码兼容。'

时间:2014-04-05 04:09:27

标签: ios xcode interface-builder runtime-error

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

*** 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的引用。

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

3 个答案:

答案 0 :(得分:1)

对于任何好奇的人。只需单击Xco​​de按钮(如下所示)。它应该打开一个XML(XIB)文件。查找<connections>标记,您可以在其中找到那些令人讨厌的恶意引用。

Xcode button

答案 1 :(得分:1)

这是我解决这个偶然问题的方法:

  1. 关闭Xcode和您的项目。

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

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

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

  5. 右键单击文件 Main.storyboard ,然后选择打开方式 - &gt;文字编辑。

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

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

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

  9. 这些步骤对我有用。

答案 2 :(得分:1)

只是Cmd + Shift + F它抱怨的关键。它将在Utilities区域的Xcode中找到并显示它(右)。找到密钥 - 它旁边应该有一个感叹号。点击它旁边的“x”将其删除,你应该好好去。