3

重複の可能性:
認識されないセレクターがインスタンスに送信されました

うーん...他の多くの人と同じように、「認識できないセレクターがインスタンスに送信されました」というエラーが発生しました...

ボタンを押すと問題が発生します。たとえば、この場合は次のようになります。

-(IBAction)gotoTone:(id)sender
{
    if(self.tone == nil)
    {
       Tone *toneMain = [[Tone alloc]
                              initWithNibName:@"Tone" bundle:[NSBundle mainBundle]];
       self.tone = toneMain;
       [toneMain release];
    }

    [self.navigationController pushViewController:tone animated:YES];
}

エラー: キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '-[Tone gotoTone:]: 認識されないセレクターがインスタンス 0x531caa0 に送信されました'

ユーザーに表示される最初のビューとして新しいビューを挿入した後、エラーが発生し始めました...また、ナビゲーションバーを使用していますが、最初は MainWindow.xib に移動してナビゲーションコントローラーを新しいビューに変更するのを忘れていました。しかし、それは今修正されています。

彼女のコード全体を見ることができます:

ファイルが発生する .h: http://snipt.org/xnoO ファイルが発生する.m : http://snipt.org/xnoM

コメントアウトされたすべての行を気にしないでください。それは、これが修正されるまでです...

「インスタンスに認識されないセレクターが送信された」という他のケースを読んで、これに対する解決策を見つけようとしましたが、解決策が見当たらないだけだと思います。IB 接続を確認し、プロジェクトをクリーンアップしました...

どんな助けでも大歓迎です

4

3 に答える 3

6

この問題に遭遇し、以前に名前が変更された IBAction にボタンを再接続するだけで解決しました。とても恥ずかしい。

于 2011-10-27T16:13:19.773 に答える
1

メソッド gotoTone: を Tone オブジェクトに送信していることが問題だと思いますが、このメソッドは Forside オブジェクト内で定義されています。なぜこれが起こっているのか正確にはわかりませんが、xib ファイル内の接続を確認することをお勧めします。

于 2011-09-28T12:50:17.543 に答える
0

ボタンがどのように構成されているかについての情報は提供していませんが、ボタンがnibファイルにある場合は、ボタンのターゲットのIDが間違ったクラスに設定されている可能性があります。したがって、ボタンがメッセージを送信するオブジェクトのクラスがではForsideなくであることを確認してくださいTone

于 2011-09-28T12:52:45.513 に答える