Подтвердить что ты не робот

Objective-C получить свойство класса из строки

Я слышал ряд подобных вопросов для других языков, но я ищу конкретный сценарий.

В моем приложении есть модель Core Data, называемая "Record", которая имеет несколько столбцов/свойств, таких как "date, column1 и column2". Чтобы обеспечить чистоту программирования, поэтому я могу адаптировать приложение к нескольким сценариям, поля ввода сопоставляются с свойством Core Data внутри plist (так, например, у меня есть строковая переменная с именем "dataToGet" со значением "column1".

Как я могу получить свойство "column1" из класса Record с помощью переменной dataToGet?

4b9b3361

Ответ 1

Механизм Key Value Coding позволяет вам взаимодействовать с свойствами класса, используя строковые представления имен свойств. Так, например, если ваш класс Record имеет свойство с именем column1, вы можете получить доступ к этому свойству следующим образом:

NSString* dataToGet = @"column1";
id value = [myRecord valueForKey:dataToGet];

Вы можете адаптировать этот принцип к вашим конкретным потребностям.