我使用Interface Builder创建了一个包含XIB文件和UILabel的类。 UILabel与相应的.h类中的IBOutlet相关联 我删除了XIB文件,但现在我在执行时收到以下错误消息:
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ChildViewController 0x91d9340> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key <IBOutletName for Label>.'
我尝试清理项目,删除项目中对此IBOutletName的所有引用,尝试在代码中使用Grep查找此名称,但仍然存在问题。知道我在哪里找到这个名字并删除它吗?
谢谢!
答案 0 :(得分:1)
要查找名称的使用位置,请首先在代码中键入插座。如果Xcode确定该插座有连接,它将填充左边距中的圆圈。点击圆圈,您应该会看到类似这样的内容
为了将来参考,在从代码中删除相应的IBOutlets / IBActions之前,应始终删除xib或storyboard中的所有连接。为此,
然后转到源代码,并确认没有相应的IBOutlets / IBActions在左边距中填充了圆圈。
如果问题仍然存在,删除构建目录并从设备中删除应用程序可能会有所帮助。
删除构建目录
Window
菜单中,选择Organizer
Projects
Remove from Organizer...
Delete
答案 1 :(得分:0)
似乎有时可能会出现一些错误。对我来说没有任何帮助,因为我在xib中拥有一切正确,但在我从设备清理和卸载应用程序后,一切都恢复了。所以不知道是干净还是卸载,但两者都有帮助。