Objective-C中遇到的最常见/不常见的错误消息是什么?导致它们的原因是什么?

时间:2011-01-18 19:44:42

标签: iphone objective-c debugging foundation

我一直在尝试维护一个列表,列出我在开发过程中遇到的所有错误消息及其常见原因和修复方法。您遇到的常见错误消息(以及不常见的错误消息)是什么?如何修复它们?

2 个答案:

答案 0 :(得分:7)

EXC_BAD_ACCESS在引用指向已dealloc'ed的对象的指针时

答案 1 :(得分:1)

一般来说,我发现objective-c异常和错误消息是不言自明的。我认为通过学习在objective-c异常上使用带有断点的调试器来定位导致崩溃的特定行,而不是尝试编译用于​​解决常见错误的收件人列表,我会更好。

那就是我认为经常出现混淆的一个非显而易见的错误是“无法识别的选择器foo:发送给BarClass”。虽然这是一个错误的原因应该是明确的回答如何发生可能更难,我看到两个常见的原因:

  1. app正在尝试在超类的实例上调用子类'方法。通常是开发人员无法更改IB中的对象类的结果。
  2. 在解除分配后,对象已被过度释放或以其他方式引用。如果某个其他类的新实例现在占用该内存,那么该应用程序会遇到“无法识别的选择器”异常,而不是“BAD_ACCESS”。