如何使用NSString变量操作属性?

时间:2014-08-10 16:53:55

标签: objective-c

好像我需要键值编码。我有一堆蓝牙信标,当我从一个信号中获取信号时,我需要对一个属性做一些事情。如果信标被称为Beacon5,则该属性称为Beacon5path。我想做

_Beacon5path.hidden = true

所以我有一个变量

NSString* myBeacon = @"Beacon5path"

我能做到

id value = [self valueForKey:myBeacon];

我如何操纵呢?

我试过

value.hidden = true;

或     _value.hidden = true;

但那些人什么都不做。

1 个答案:

答案 0 :(得分:1)

由于它是一个你想要隐藏的UIView,你可以测试它是正确的类,然后将其转换为UIView以保持编译器满意或者你可以采取更多一般方法并检查它是否可以隐藏,例如:

if ([value respondsToSelector:@selector(setHidden:)]) {
    [value setHidden:YES];
}