0

Interface Builder Iの[ライブラリ]->[クラス]で、XCodeで作成したクラスを選択し、アクションを表示すると、同じ名前の2つが表示されます。

foo
foo:

これら2つのfooの違いは何ですか?

4

2 に答える 2

2

foo引数を受け入れないメソッドです。foo:1つまたは複数の引数をそのメソッドに渡します。

例:

-(IBAction)foo;

fooIBのように表示されます。

-(IBAction)foo:(id)sender;

foo:IBのように表示されます。

なぜ同じ名前なのかわかりませんが、そのように設定してありますか?

于 2010-08-21T04:22:29.673 に答える
1

IB は、IB を使用してクラス ファイルを作成する場合、センダーを使用することを想定しているため、コンストラクトを作成します。

-(IBAction)foo:(id)sender;

通常、送信者に関する情報が必要になるため、その構成に固執します。実装で送信者が必要ない場合は、単に無視してください。

-(IBAction)foo:(id)sender {
    [someObject doAMethod];
}
于 2010-08-21T21:50:32.073 に答える