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

标签 iphone objective-c xcode

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

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

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

最佳答案

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

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

旁注

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

关于iphone - 使用控件名称作为字符串转换为控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10626666/

相关文章:

iphone - 如何重命名目录?

objective-c - 如何在 popviewController 中传递数据或字符串

ios - 如何在 PageViewController 中将 CGGradients 混合在一起?

iphone - 配置时立即使用属性还是使用临时变量?

iphone - iOS : Make a circle with background color like the iPhone calendar list

iphone - iphone 应用程序如何与服务器交互?

Xcode 因 SourceCache 中的断言失败而崩溃

iphone - XCode 未找到崩溃日志

ios - 边框有背景颜色渗透

iphone - 数学(几何): Rectangle projection?