#ios #objective-c #class #properties
#iOS #objective-c #класс #свойства
Вопрос:
Я слышал ряд похожих вопросов для других языков, но я ищу конкретный сценарий.
В моем приложении есть базовая модель данных под названием «Запись», которая имеет несколько столбцов / свойств, таких как «дата, столбец 1 и столбец2». Чтобы сохранить чистоту программирования и я мог адаптировать свое приложение к нескольким сценариям, поля ввода сопоставляются со свойством Core Data внутри plist (так, например, у меня есть строковая переменная с именем «dataToGet» со значением ‘column1’.
Как я могу извлечь свойство «column1» из класса Record с помощью переменной dataToGet?
Комментарии:
1. Вероятно, с использованием KVC. Не совсем понял ваш вопрос. Вы хотите получить свойство, имя которого может быть введено пользователем?
Ответ №1:
Механизм кодирования значения ключа позволяет взаимодействовать со свойствами класса, используя строковые представления имен свойств. Так, например, если у вашего Record
класса есть свойство с именем column1
, вы можете получить доступ к этому свойству следующим образом:
NSString* dataToGet = @"column1";
id value = [myRecord valueForKey:dataToGet];
Вы можете адаптировать этот принцип к вашим конкретным потребностям.
Комментарии:
1. Спасибо, Мэтт, это не только решает мою непосредственную проблему, но и, без сомнения, поможет в будущих ситуациях.