我正在尝试使用动态名称访问对象的属性......这可能吗?
就像在javascript中一样:
var foo = 'bar';
appr.templates[foo];
想法是访问appr.templates.bar
答案 0 :(得分:5)
您可以将valueForKey:
用于此目的。
像这样:
NSString *foo = @"bar";
[appr.templates valueForKey: foo]
答案 1 :(得分:4)
您可以使用键值编码或KVC执行此操作,请参阅方法-valueForKeyPath:
。例如:
@interface Foo
@property(strong) NSString *bar;
@end
// Somewhere in other code, foo is an instance of Foo
NSString *bar = [foo valueForKeyPath:@"bar"];