2010年5月1日土曜日

ドット演算子使用時のid型のキャスト

ドット演算子を使用する場合、明示的に型を指定しないと(id型の場合)、ドット演算子が使えないそうです。そのため、id型で取得するsenderの利用は、特定の型のインスタンスに代入してからドット演算子を使うことになるようです。

-(IBAction)sliderChange:(id)sender{
   UISlider `slider =(UISlider *)sender;
   int a = (int)(slider.value +0.5f);
}

でも、これじゃだめなんでしょうか?
-(IBAction)sliderCahnge:(UISlider*)sender{
  int a = (int) (sender.value +0.5f);
}

実行してみるとできました。たぶんいいのでしょう。こちらのほうが明示的かつ簡潔的で好みです。

0 件のコメント:

コメントを投稿