不是密钥值编码兼容

时间:2013-03-27 02:21:50

标签: ios xcode key

我一直在我的应用上收到此错误。我收到错误的唯一一次是当我从后台状态恢复应用程序时。我需要一些帮助来弄清楚错误所在。无论活动的ViewController是什么,每当我从后台变为活动时都会发生这种情况。

由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[< __ NSCFString 0xc063200> valueForUndefinedKey:]:此类不是密钥响应的密钥值编码兼容。'

1 个答案:

答案 0 :(得分:4)

听起来像堆栈中的某个地方,在NSString上访问一个不存在的密钥。 valueForUndefinedKey是Objective-C中键值编码的一部分,是NSObject的一部分。当valueForKey:在几乎任何对象上都不起作用时,可以调用它。

我发现在以下任何一种情况下抛出最常见的异常:

  1. 一个带有XIB文件故事板的类被重构并且被重构 故事板或XIB没有。
  2. 你有一个主要的内存问题,你在一个解除分配的对象上调用一个方法,并且访问了错误的内存。
  3. 这是一个正在运行的网络JSON API,该方法从JSON获取了错误的对象类型(例如NSString而不是NSDictionary)。
  4. 在Xcode的Breakpoint Navigator中的All Exceptions上设置一个异常断点,这样你就可以找到代码NSUnknownKeyException中的确切行。按(+)调出菜单。

    Breakpoint Navigator