Objective-C从string获取一个类属性

Mec*_*eer 29 properties class objective-c ios

我听过其他语言的一些类似问题,但我正在寻找一个特定的场景.

我的应用程序有一个名为"Record"的Core Data模型,它有许多列/属性,如"date,column1和column2".为了保持编程的清洁,我可以将我的应用程序调整到多个场景,输入字段映射到plist中的Core Data属性(例如,我有一个名为"dataToGet"的字符串变量,其值为"column1".

如何使用dataToGet变量从Record类中检索属性"column1"?

Mat*_*ing 82

键值编码机制,可以让你使用的属性名称的字符串表示一个类的属性进行交互.因此,例如,如果您的Record类具有调用的属性column1,则可以按如下方式访问该属性:

NSString* dataToGet = @"column1";
id value = [myRecord valueForKey:dataToGet];
Run Code Online (Sandbox Code Playgroud)

您可以根据您的特定需求调整该原则.