2

我的 XIB 中有几个文本字段(和标签),在我的应用程序中的某个时刻,我动态构建了一个包含控件名称(即文本字段之一)的字符串。如何使用我创建的包含文本字段名称的字符串来引用实际的文本字段。

例如,我有 txt1 , txt2 , txt3 , txt4 作为 UITextFields 并且我有一个字符串(str),其中包含名称(str =“txt3”)上面的字段之一,然后我想更改 uitextfield txt3 的内容,因为 str此时有“txt3”。

如何从字符串转换为实际控件?

4

1 回答 1

3

如果UITextFields 都有一个支持属性,那么您可以使用 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 回答