ビューに動作を拒否するボタンがあります。X-Code の空白のデフォルト ビュー アプリケーションで作業しましたが、どのアプリケーションでも動作せず、代わりに次のエラーが表示されます。
キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '*** -[UIViewController showVicInfo:]: 認識されないセレクターがインスタンス 0x3c084f0 に送信されました'
デバッガーも役に立ちません。ボタンをファイルの所有者に接続することも確認しました (その逆ではありません)。以下は、アクションのコードです。そして、ブレークポイントがそこに到達していないため、それがアラート ビューではないことはわかっています。
約.h
@interface about : UIViewController {
}
-(IBAction)showVicInfo:(id)sender;
約メートル
-(IBAction)showVicInfo:(id)sender {
UIAlertView *myAlert = [[UIAlertView alloc] initWithTitle:@"No Internet Connection" message:@"You require an internet connection via WiFi or cellular network for iFirelert to work." delegate:self cancelButtonTitle:@"OK, thanks" otherButtonTitles:nil];
[myAlert show];
[myAlert release];
}
更新:参考までに、これがボタンの作成方法です。
- 新しいビューを作成しました (File>New File>UIViewControllerSubclass w/XIB for interface)
- -(IBAction)showInfo:(id)sender; を追加しました。about.hへ
- 追加した
- -(IBAction)showVicInfo:(id)sender { UIAlertView *myAlert = [[UIAlertView alloc] initWithTitle:@"インターネット接続がありません" メッセージ:@"iFirelert が機能するには、WiFi またはセルラー ネットワーク経由のインターネット接続が必要です。" delegate:self cancelButtonTitle:@"OK, ありがとう" otherButtonTitles:nil]; [myAlert ショー]; [myAlert リリース]; } ~ about.m
- Interface Builder で About.xib を開き、長方形のボタンをビューにドラッグします。
- ボタンを -showVicInfo アクションに接続するには、ctrl キーを押しながらファイルの所有者プロパティのボタンをクリックします (その逆ではありません)。
- ファイルの所有者が「about」クラスに設定されていることを確認しました。
そして、X-Codeで失敗してビルドおよび実行します。
更新 2: OK、既存のプロジェクトの設定または何かである必要があることがわかりました。別の X-Code プロジェクトで動作する 2 つのクラス ファイルと XIB ファイルをコピーしましたが、ボタンも同じものをスローします既存のアプリのエラー。