使用控件名称作为字符串转换为控件

时间:2012-05-16 21:02:27

标签: iphone objective-c xcode

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

例如,我将txt1,txt2,txt3,txt4作为UITextFields 我有一个字符串(str),其中包含名称之上的一个字段(str =“txt3”) 那么我想改变uitextfield txt3的内容,因为str有“txt3” 在这一点上。

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

1 个答案:

答案 0 :(得分:3)

如果UITextField都具有支持属性,那么您可以使用KVC获取对该控件的引用,然后您可以正常使用它。

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

旁注

虽然你没有提到str @JefferyThomas的来源提出了一个非常有效的观点,即不信任尚未经过验证的使用输入。