所以我使用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的引用。
所以我的问题:这是一个错误还是有办法正确删除引用(我似乎没有使用)?
答案 0 :(得分:1)
对于任何好奇的人。只需单击Xcode按钮(如下所示)。它应该打开一个XML(XIB)文件。查找<connections>
标记,您可以在其中找到那些令人讨厌的恶意引用。
答案 1 :(得分:1)
这是我解决这个偶然问题的方法:
关闭Xcode和您的项目。
使用Finder打开Xcode项目的文件夹。
输入主文件夹,包含代码文件的文件夹(不是Test文件夹)。
找到 Base.lproj 文件夹并将其打开。
右键单击文件 Main.storyboard ,然后选择打开方式 - &gt;文字编辑。
使用搜索文本选项查找错误值(myprogressBar)。
删除包含文字的每一行,然后保存并关闭它。
使用Xcode重新打开您的项目,清理它(菜单产品)并运行它。
这些步骤对我有用。
答案 2 :(得分:1)
只是Cmd + Shift + F它抱怨的关键。它将在Utilities区域的Xcode中找到并显示它(右)。找到密钥 - 它旁边应该有一个感叹号。点击它旁边的“x”将其删除,你应该好好去。