0

我有 ARC 的 Cocoa Touch 项目,有时会出现这个错误。你能解释一下这个错误的类型以及解决这个问题的方法吗?

-[__NSCFString deviceOrientationDidChange:]: unrecognized selector sent to instance 0x1ddf81a0

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString deviceOrientationDidChange:]: unrecognized selector sent to instance 0x1ddf81a0'
*** First throw call stack:
(0x313132a3 0x38fad97f 0x31316e07 0x31315531 0x3126cf68 0x31264037 0x31b7a599 0x33121c65 0x3311c3db 0x3311b6cd 0x3311b11b 0x34e1c5a3 0x34e1c1d3 0x312e8173 0x312e8117 0x312e6f99 0x31259ebd 0x31259d49 0x34e1b2eb 0x3316f301 0x14b61 0x14ae8)
libc++abi.dylib: terminate called throwing an exception
4

2 回答 2

2

你有一个僵尸问题。如果您可以在模拟器上重现此内容,请在 Zombies 仪器下运行它。如果您只能在设备上重现它,请编辑您的方案,转到“诊断”选项卡,然后打开“僵尸”复选框。(不幸的是,仪器不提供设备上的僵尸检测。)

于 2013-02-20T05:34:07.023 回答
1

您看到的崩溃与 ARC无关deviceOrientationDidChange:,而与正在接收虚假“ ”消息的对象(似乎是 NSCFString 对象)有关。

我的建议是在“ deviceOrientationDidChange”上设置一个符号断点并捕获正在发送的消息,然后你就会知道哪一行代码被破坏了。

于 2013-02-20T05:17:37.833 回答