【发布时间】:2012-01-27 10:07:24
【问题描述】:
在我的 obj-c 类中,我有一个将字符串映射到对象的字典。
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"value1", @"key1", @"value2", @"key2", nil];
MyClass* obj = [[MyClass alloc] initWithDictionary:dict];
现在,不要这样做:
NSString* val1 = [obj value:@"key1"];
我想做:
NSString* val1 = [obj key1]; // @"value1"
NSString* val2 = [obj key2]; // @"value2"
NSString* val3 = [obj key3]; // nil, not found
有可能吗?
当然,这假设 (a) 字典键是有效的标识符名称; (b) 没有同名的“真实”属性/方法(这可能会调用真实方法)。
【问题讨论】:
标签: objective-c reflection dynamic dictionary properties