2011-01-21 10 views
2

私はiPhone用の簡単なdatepickerコードを書いていますが、この1つのエラーが私を狂わせてしまいます。datepickerがUIControlEventValueChangedで認識できないセレクタエラーを表示する

  1. 作業の場合:ここでは、2つのユースケース、それが動作1と第二はそれがないんです 私はピッカーから日付を選択し、UIButtonを作成し、「呼び出した場合 - (IBAction)SHOWDATEを: (id)sender "をこのボタンの" touch up inside "イベントと関連付けます。 showdateは、選択した日付のアラートを表示する簡単な方法です。

  2. 非稼働の場合:私はピッカーの「値変更」イベントと同じ、上記のメソッドを呼び出すと 私はエラー以下の取得: がキャッチされない例外により「NSInvalidArgumentException」、理由にアプリを終了:「 - [__ NSCFType showdate:]:インスタンスに送信されたセレクタが認識されない

私はこれをInterface Builderとプログラムでは同じように試みましたが、同様の結果が得られました。

私はここに何が欠けているか教えてください。

おかげで、あなたは間違ってやっている

答えて

2

Rolsあなたはこのように日付ピッカーとIBActionを呼び出し傾けます。日付ピッカーの値変更イベントで関数を呼び出す場合、ボタンは必要ありません。このようにします。あなたのviewDidLoad-

[self.datePicker addTarget:self 
          action:@selector(showdate:) 
        forControlEvents:UIControlEventValueChanged]; 

これを使用して、あなたの.mファイル内でこの関数を記述します。

-(void)showdate:(id)sender 
    { 
     //your code. 
    } 
+0

助けてくれてありがとうございますが、私は既にこの方法を試してみて同じエラーが発生しています。ここに私のviewDidLoadコードです: - (void)viewDidLoad { [super viewDidLoad]; \t //ピッカーを追加 \t float height = 216.0f; \t NSLog(@ "view didload"); \t pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0.0f、416.0f - 高さ、320.0f、高さ)]; \t [pickerView addTarget:自己アクション:@selector(showDate :) forControlEvents:UIControlEventValueChanged]; \t [self.view addSubview:pickerView]; \t [pickerView release]; } showdateには1行のログが含まれています:NSLog(@ "showDate called"); – Rols

+0

あなたはdatePicker用にIBOutletを作成し、それと同じかそうでないかのプロパティを使用します。 – Ishu

+0

ok ..私はそれを修正しました..いくつかの方法..ここに私は何をしました:私は、ビューを呼び出すために次のようにしていたdatePicker ..を含むこのビューを呼び出す場所から親ビューを持っていましたDatePickerTestViewController * detailViewController = [[DatePickerTestViewController alloc] init]; \t \t [self.view addSubview:detailViewController.view]; \t [detailViewController release]; ..私は最後の行をコメント修正するために。 – Rols

関連する問題