【问题标题】:'Not key value coding-compliant' error from deleted xib来自已删除 xib 的“不符合键值编码”错误
【发布时间】:2013-07-17 19:13:00
【问题描述】:

在我的项目中,我有一个 ContentViewController 类,它最初使用 xib 进行布局。但是,我后来决定删除 xib 并以编程方式插入子视图。当我删除最初存在的一个子视图时,我得到了:

“由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[setValue:forUndefinedKey:]:这个类对于键infoView不符合键值编码。'”

从研究中我知道,这种错误几乎总是由于类和 xib 之间的链接问题。我已经检查以确保工作区中没有类引用 infoView,所以这不是问题。当 xib 不再存在时,如何从 xib 取消链接 ContentViewController?提前致谢!

【问题讨论】:

  • 您是否从设备和/或模拟器中删除了该应用程序?在从 Xcode 中进行部署期间,应用程序包中的文件永远不会被删除。所以 nib 文件可能仍然存在于应用程序包中。
  • 啊,是的,这也有效。重置模拟器清除它。
  • @MatthiasBauch -- 不错;这个问题让我对应用程序的主干版本和分支版本之间的差异感到疯狂。尝试了所有从模拟器中删除。

标签: objective-c xcode xib


【解决方案1】:

有时从应用程序内部删除 NIB 文件会出现问题,解决的安全方法是实现 loadView 并在那里创建自定义视图,因为这将阻止超类尝试加载 NIB。

【讨论】:

  • 您的意思是在特定的 viewDidLoad: 方法中,还是只是一些非初始化的任意方法?后者是我目前正在做的。
  • 您想将方法添加到ContentViewController。这不是任意方法,它是UIViewController 加载过程的一部分。
  • 好吧,我现在遇到了一些其他错误,我必须弄清楚,但是 NSUnknownKeyException 消失了。谢谢!
猜你喜欢
  • 2018-04-21
  • 1970-01-01
  • 2014-02-10
  • 1970-01-01
  • 1970-01-01
  • 2019-06-23
  • 2017-10-24
  • 2017-12-23
  • 1970-01-01
相关资源
最近更新 更多