0

iPhone アプリでクラッシュする問題が発生し、デバッガー コンソールに次のメッセージが表示されます。

2012-08-31 12:31:24.628 test_app[1672:207] -[My_ViewController tapDetected:]: 認識されないセレクターがインスタンス 0x7621ef0 に送信されました

奇妙なことに、このクラスのコードには "tapDetected" さえ存在しません。以前はメソッドでしたが、削除されて別のメソッドに置き換えられました。

.xib ファイルを見ると、最初のレスポンダーで "tapDetected" がまだリストに表示されていることに気付きました。しかし、これが私の問題と関係があるかどうかはわかりません。また、それを削除する方法もありません。

この問題に関するアイデアや提案は大歓迎です。

4

4 に答える 4

1

呼び出し元の .xib から tapDetected: メソッドを削除します。

于 2012-08-31T04:07:55.713 に答える
0

.xibファイルを開きます。エラーを生成した.xibファイルのボタンを選択します。[ユーティリティの表示] =>[接続インスペクター]をクリック=>[送信済みイベント]リストを確認します。tapDetectedへの接続を削除します:終了した場合。

于 2012-08-31T05:10:15.013 に答える
0

これは、xib のボタン (押されたときにエラーが発生すると推測しています) がメソッドにまだ接続されているためである可能性があります。

于 2012-08-31T07:03:26.013 に答える
0

インターフェイスビルダーのものとxibファイルを扱うとき、xibファイルから何かを削除したことを確認したにもかかわらず、アプリがクラッシュする場合があることを付け加えておきます。

シミュレーター上のアプリの以前のコピーが何らかの形で xib コンテンツを「キャッシュ」しているため、これが原因であることがわかりました。

修正は、アプリのインスタンスをシミュレーターまたはデバイスから削除してから、アプリを再実行することでした。

于 2012-08-31T08:29:24.610 に答える