2

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

由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[<__NSCFString 0xc063200> valueForUndefinedKey:]:此类与键响应的键值编码不兼容。”

4

1 回答 1

5

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

我看到在以下任一情况下最常抛出异常:

  1. 具有 XIB 文件情节提要的类被重构,情节提要或 XIB 不会。
  2. 您有一个主要的内存问题,您正在对已释放的对象调用方法并且访问了错误的内存。
  3. 这是一个正在运行的网络 JSON API,并且该方法从 JSON 序列化的对象类型错误(例如 NSString 而不是 NSDictionary)。

在 Xcode 的 Breakpoint Navigator 中的 All Exceptions 上设置一个异常断点,这样您就可以找到代码NSUnknownKeyException中被抛出的确切行。按 (+) 调出菜单。

断点导航器

于 2013-03-27T02:28:35.090 回答