0

やあみんな、(id)sender が正確に何を意味するのか誰か説明してくれませんか? 非常に多くのアクションでそれを見てきましたが、この送信者 ID を設定する方法がわかりません。

- (IBAction)publishStream:(id)sender {
   // do something
}

さらに、この送信者 ID をコードで設定する方法を教えてください。

ありがとう、乾杯、ドゥーノット

4

4 に答える 4

5

「id」は型です。具体的には、オブジェクトへの型指定されていないポインターの型です。'id' 型の変数は、任意の object-c オブジェクトを指すことができます。IBAction の場合、アクションを送信するオブジェクトである「sender」という名前の 1 つのパラメータを持つのが一般的です。どのタイプのオブジェクトでもアクションを送信できるため、'sender' パラメータのタイプは 'id' です。

于 2011-03-07T17:28:05.017 に答える
3

これを使用して、複数の UI「ウィジェット」を同じハンドラー関数にリダイレクトできます。次に、「送信者」を使用して、メッセージを生成したものを知ることができます。

于 2011-03-07T17:26:24.397 に答える
2

ID は基本的に空のタイプなので、それを呼び出したオブジェクトのタイプに関係なく、実際に送信者を設定したとは思えません。それは単なるオブジェクトです。したがって、UIButton が私の IBAction と呼ばれるとすると、UIButton がたまたま何であれ送信者になります。

于 2011-03-07T17:27:24.983 に答える
0

実際には、送信者はイベントを呼び出すコントロールです。ボタンの内側をタッチして、メソッドにアタッチした場合のように。そのボタンはここで送信者になります。

于 2011-03-07T17:27:26.043 に答える