2

XIB にいくつかのテキスト フィールド (およびラベル) があり、アプリケーションのある時点で、コントロール名 (つまり、テキスト フィールドの 1 つ) を含む文字列を動的に作成します。テキストフィールドの名前を保持する作成した文字列を使用して、実際のテキストフィールドを参照するにはどうすればよいですか。

たとえば、UITextFields として txt1 、txt2、txt3、txt4 があり、名前の上のフィールドの 1 つを含む文字列 (str) (str ="txt3") がある場合、str から uitextfield txt3 の内容を変更したいこの時点で「txt3」があります。

文字列から実際のコントロールにキャストするにはどうすればよいですか?

4

1 に答える 1

3

UITextFieldすべてにバッキングプロパティがある場合は、 KVCを使用してコントロールへの参照を取得し、通常どおりに使用できます。

NSString *str = @"txt1";
UITextField *myTextField = [self valueForKey:str];
myTextField.text = @"what ever you want to update to";

サイドノート

str@JefferyThomasのソースについては言及していませんが、検証されていない使用入力を信頼しないことについて非常に有効な点があります。

于 2012-05-16T21:06:47.307 に答える