ビューに 2 つUITextField
の があり、両方ともメソッドに接続されています
- (IBAction)showContactPicker:(id)sender;
ここで、指定された送信者でテキスト フィールドの値を変更したいと考えています。
どうやってやるの?
ビューに 2 つUITextField
の があり、両方ともメソッドに接続されています
- (IBAction)showContactPicker:(id)sender;
ここで、指定された送信者でテキスト フィールドの値を変更したいと考えています。
どうやってやるの?
Sender は UITextField です。新しい UITextField 変数にキャストして使用します。
UITextField *theTextField = (UITextField *)sender;
それらをインスタンス変数に IBOutlet し、== を使用して送信者と比較することもできます。
これは、タグを使用して実現できます。ストーリーボードで、各テキスト フィールドにタグを付けます。これは、属性インスペクターでアクセスできます。
一方のテキストフィールドではこれを 1 に設定し、他方では 2 に設定します。
Sender は id 型です。つまり、任意のオブジェクトを指定できます。送信者が UITextField になることがわかっているので、UITextField をキャストして操作していることをコンパイラーに伝える必要があります。これを行うには、showContactPicker: メソッドで次のように言います。
UITextField *newTextField = (UITextField *)sender;
これは、sender 変数が UITextField へのポインターであることを保証していることをコンパイラーに伝えます。
この後、あなたは言うことができます
if (sender.tag == 1) {
//Change the slider corresponding to the first textfield
} else if (sender.tag == 2) {
//Change the slider corresponding to the second textfield
}