0

iOS iPad アプリで奇妙な問題に直面しています。イベント内でタッチアップしてを にマップするUIButtonと、アプリケーションがクラッシュします。IBActionコンソールに表示されるエラーは次のようなもの Unrecognized selector NSInvalidArgumentExceptionです。

ちなみに、私のプロジェクトのすべてのView Controllerには同じ問題があります。ビュー コントローラーは、タブ バー コントローラーにマップされます。

別のプロジェクトからすべてのファイルをドラッグ アンド ドロップして、このプロジェクトを作成しました。ドラッグしたファイルは現在のプロジェクトに適切に配置されますが、問題はありません。これは問題を引き起こしますか?

何が問題なのかわかりませんでした。

ありがとう

4

5 に答える 5

1

Gabriele PetronellaRajneesh071による解決策を適用した後も問題が解決しない場合は、小さな間違いが1つある可能性があります。

使用している場合:

[btn addTarget:self action:@selector(buttonTouched:)  forControlEvents:UIControlEventTouchUpInside];

その場合、buttonTouchedメソッドはである必要があります(IBAction)

buttonTouchedメソッドがタイプの場合は、メソッド呼び出しから(void)それを削除するだけです。:

簡単なことですが、クラッシュする可能性があります。

于 2013-01-02T14:33:23.597 に答える
1

xib でボタンを右クリックして、ボタンの接続が 1 つしかないことを確認します。複数ある場合は、不要な接続を削除してください。

ここに画像の説明を入力

于 2013-01-02T14:23:12.493 に答える
1

UIViewControllerインターフェイス ビルダーでカスタム サブクラスのクラスを設定しましたか?

ここに画像の説明を入力

于 2013-01-02T14:24:16.363 に答える
0

回答ありがとうございます。問題を解決しました。

実際の問題:

  1. 私のプロジェクトはARCです。
  2. IBAction実際には、以下のようにボタンをクリックしてサブビューとして追加することにより、あるビューから別のビューに新しいビューに移動しています。

    -(IBAction)signInAndGoToFrameworkView :(id)sender{  
    
    MyViewController myViewController  = [[MyViewController alloc] initWithNibName:@"MyViewController " bundle:nil];
    [self.view addSubview:myViewController.view];
    
    }
    

3. プロジェクトは ARC を使用しているため、オブジェクト myViewController はローカル変数であるため解放されます。だから私は戻るボタンを押すと

   [self.view removeFromSuperview]; 

アプリがクラッシュしていました。

解決:

MyViewController myViewControllerしたがって、.h ファイルで宣言したときに、 and も指定さ@property@synthesizeました。次に、を変更しIBActionました。

   -(IBAction)signInAndGoToFrameworkView :(id)sender{  

    myViewController  = [[MyViewController alloc] initWithNibName:@"MyViewController " bundle:nil];
    [self.view addSubview:myViewController.view];

    }

これで問題は解決しました。

ありがとう。

于 2013-01-03T14:05:51.007 に答える
0

UIButton によって参照されている認識されないメソッドがあることを確認します。

1) .h にリストされているメソッド シグネチャは、.m ファイルにリストされているメソッド シグネチャと一致していますか? 2)メソッドを呼び出すときに渡されると予想される引数はありますか?3) メソッドは、.h および .m ファイルで一貫してクラス (+) またはインスタンス (-) メソッドとしてリストされていますか?

ファイルをコピーしたとおっしゃっていましたが、コピー元のアプリも動作することをテストしましたか? 他のアプリにはボタンに接続されたメソッドがありますか? コピーした後に何か変更しましたか?

乾杯

于 2013-01-02T14:28:47.700 に答える