在iOS 7中更改方向时获取无关错误

hal*_*lei 6 orientation ios

在我的iPad应用程序中,我有一个包含多个部分和行的表.当我将方向从横向更改为纵向或从纵向更改为横向时,我会收到以下错误之一:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[WebScriptObjectPrivate countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x124a15a0'

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[DOMHTMLHeadElement rotatingClient]: unrecognized selector sent to instance 0x8c60a20'

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x8f7c380'
Run Code Online (Sandbox Code Playgroud)

我没有明确地使用任何抛出异常的类.

编辑:使用仪器,我发现这是发生崩溃的地方.我之前没有用过,所以我不知道该怎么做.

#   Event Type  ? RefCt RefCt   Timestamp       Responsible Library  Responsible Caller
2   Zombie              -1      00:38.935.631   UIKit                -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:isRotating:]
Run Code Online (Sandbox Code Playgroud)

Phi*_*lls 3

当您收到发送到不直接使用的类的对象的无法识别的选择器消息时,答案通常是您的目标对象已被意外释放,并且内存被重新用于错误消息中出现的对象。

您最好的选择是在您的方案中打开僵尸并查看正在向哪些已释放的对象发送消息。或者,您可以尝试通过弄清楚哪个对象应该接收消息以及它发生了什么来跟踪它。(显然,如果可能的话,第一个会更容易。)