2009/11/18 11:22:29
- (IBAction) XXXX(メソッド名): (id) sender;
で、この : (id) sender ってナニモノかしら?と。
順番に考えていきましょうか。
- (IBAction) XXXX(メソッド名)ってのは、この辺でもお話ししたように、
開発基礎トレ2:アウトレットとアクションの使い方
・アクションは、【部品】→【プログラム】へ情報を伝える配線
でした。
View上(画面上)でボタンやテキストフィールドなどの部品がタッチされたら、
アクションを通じてプログラムが実行されるわけです。
で、このとき。
ボタンをタッチしたらルーレットが回る。
このようなアクションであれば、
「タッチされたかどうか」が問題なのでボタンの情報は必要ありませんね。
でも
画像をタッチしたらその画像の名前をラベルに表示したい。
このようなアクションの場合、
「タッチされた」後に、「何の画像がタッチされたの?」のような、
タッチされた部品の情報、つまり、引数が欲しくなるわけです。
ということで。
: (id) sender は、引数なんです。
(id) は引数の型のことで、
Objective-Cのオブジェクトなら何でもOK型を意味しています。
(UITextField *) みたいに書く代わりに (id) と書けるんです。
便利なんですけど何でもアリになってしまうので、
セキュリティ上と自分の中での整理上好ましく無い場合は、
きちんとしたクラス名を書くこともできます。
で、sender は引数の名前です。
お作法なのでこう書いておけばOKです。
アクションに接続されている部品(オブジェクト)が
丸ごとポーンと引数で渡されます。
先ほどの例で言うと、
画像の名前とか、サイズとか、そんなチマチマした項目単位で渡すんじゃなくて、
丸ごと1匹。後は勝手に捌いてくれ。
そんなオットコマエな渡し方が : (id) sender です。
ご質問のお答え的には
Q:
:(id)sender はあってもなくても良いものなんでしょうか?
A:
部品情報が要らないなら不要。部品情報が欲しいなら必要。
ということでいかがでしょう!
情報元:
blog:サルにでもできるiPhoneアプリの作り方
で、この : (id) sender ってナニモノかしら?と。
順番に考えていきましょうか。
- (IBAction) XXXX(メソッド名)ってのは、この辺でもお話ししたように、
開発基礎トレ2:アウトレットとアクションの使い方
・アクションは、【部品】→【プログラム】へ情報を伝える配線
でした。
View上(画面上)でボタンやテキストフィールドなどの部品がタッチされたら、
アクションを通じてプログラムが実行されるわけです。
で、このとき。
ボタンをタッチしたらルーレットが回る。
このようなアクションであれば、
「タッチされたかどうか」が問題なのでボタンの情報は必要ありませんね。
でも
画像をタッチしたらその画像の名前をラベルに表示したい。
このようなアクションの場合、
「タッチされた」後に、「何の画像がタッチされたの?」のような、
タッチされた部品の情報、つまり、引数が欲しくなるわけです。
ということで。
: (id) sender は、引数なんです。
(id) は引数の型のことで、
Objective-Cのオブジェクトなら何でもOK型を意味しています。
(UITextField *) みたいに書く代わりに (id) と書けるんです。
便利なんですけど何でもアリになってしまうので、
セキュリティ上と自分の中での整理上好ましく無い場合は、
きちんとしたクラス名を書くこともできます。
で、sender は引数の名前です。
お作法なのでこう書いておけばOKです。
アクションに接続されている部品(オブジェクト)が
丸ごとポーンと引数で渡されます。
先ほどの例で言うと、
画像の名前とか、サイズとか、そんなチマチマした項目単位で渡すんじゃなくて、
丸ごと1匹。後は勝手に捌いてくれ。
そんなオットコマエな渡し方が : (id) sender です。
ご質問のお答え的には
Q:
:(id)sender はあってもなくても良いものなんでしょうか?
A:
部品情報が要らないなら不要。部品情報が欲しいなら必要。
ということでいかがでしょう!
情報元:
blog:サルにでもできるiPhoneアプリの作り方
PR