0

たとえば、私のコンソールには、次のような出力があります。

2012-11-29 21:25:40.696 Program[31053:707] -[Staff Shifts]: unrecognized selector sent to instance 0x107d6fdd0
2012-11-29 21:25:40.697 Program[31053:707] Exception detected while handling key input.

これがどこから来たのかを知る簡単な方法があるかどうか疑問に思いましたか?

4

2 に答える 2

1

デバッグコンソールは、多くのことしか教えてくれません。Staffエラーによると、そのクラスのインスタンスによって認識されていないクラス内のセレクターに(おそらく)アクセスしようとしています。

ただし、この情報を使用して、そのクラス内にブレークポイントを設定し、例外が再発するまでメソッドをステップオーバーすることができます。次に、そのメソッドにブレークポイントを設定し、問題が見つかるまでそのメソッドにステップインします。

gdb po実行時に使用して、nil/予期しないオブジェクトをチェックすることもできます。

于 2012-11-30T02:45:02.073 に答える
0

は、エラーの原因となっているコードに名前が[Staff Shifts]付けられたクラスがあることを示している可能性があります。[Staff Shifts]あなたが以下を持っているunrecognized selectorことを意味します:

selector: @selector(FunctionName:)

しかし、関数FunctionName:は存在しません...

于 2012-11-30T02:35:17.297 に答える