我正在尝试提取属于另一个类的属性的类的实例的属性!通过示例更容易显示......
// Person is a class with properties: name and age
Person *person = [[Person alloc] init];
[person setName:@"Alex"];
// Age is a class with properties value (i.e. 100) and unit (i.e. year)
Age *age = [[Age alloc] init];
[age setValue:@100];
[person setAge:age];
NSMutableArray *people = [[NSMutableArray alloc] init];
[people addObject:person];
for (id person in people) {
如何提取与此人相关联的年龄实例的value属性?
//[person valueForKey:@"age.value")];
我希望得到@ 100 - 我得到'NSInvalidArgumentException'
这给了我Age的实例 - 但我宁愿拥有value属性。
//[person valueForKey:@"age")];
}
这可能吗?非常感谢任何帮助。
答案 0 :(得分:2)
使用valueForKeyPath:
而不是valueForKey:
来处理对象图的[潜在]遍历,而不仅仅是顶层查找。
[person valueForKeyPath:"age.value"]
应该是正确的。
答案 1 :(得分:0)
您希望得到RTSPServer
value
age
。
我将代码更改为dot.notation,它只是person
person.age.value