Вопрос по objective-c, xcode, iphone – Приведение к элементу управления с использованием имени элемента управления в виде строки [duplicate]

2

This question already has an answer here:

Syntax help - Variable as object name [duplicate] 1 answer Objective C Equivalent of PHP's “Variable Variables” [duplicate] 2 answers

У меня есть несколько текстовых полей (и меток) в моей XIB, и в какой-то момент в моем приложении я динамически строю строку, которая содержит имя элемента управления (то есть одно из текстовых полей). Как я могу сослаться на фактическое текстовое поле, используя созданную мной строку, которая содержит имя текстового поля.

Например, у меня есть txt1, txt2, txt3, txt4 как UITextFields и у меня есть строка (str), которая содержит одно из полей над именами (str = & quot; txt3 & quot;) затем я хочу изменить содержимое uitextfield txt3, так как str имеет & quot; txt3 & quot; с этой точки зрения.

Как я могу привести от строки к фактическому контролю?

Ваш Ответ

1   ответ
3

ЕслиUITextFieldУ всех есть свойство поддержки, тогда вы можете использовать KVC для получения ссылки на элемент управления, а затем просто использовать его как обычно.

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

Side note

Хотя вы не упомянули источникstr @JefferyThomas поднимает очень верную точку зрения о недоверчивости использования ввода, которое не было проверено.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Stk Stocki
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Stk Stocki

Похожие вопросы