是否可以动态构建属性或函数调用?我有一组想要以相同方式呈现的视图。因此,如果我的部分代码是这样的
self.ViewName.hidden = NO;
我希望使用变量作为视图的名称,有没有办法做到这一点,比如
self {var} .hidden = NO;
其中'var'是视图名称的NSString并在运行时进行评估?我知道这不适用于尖括号,只是为了说明我是如何构建属性引用的。
由于
答案 0 :(得分:2)
您可以使用NSSelectorFromString函数在运行时动态获取选择器。因此,如果您想根据字符串获取viewName,您将使用
[[self performSelector:NSSelectorFromString(@"ViewName")] setHidden:NO];
答案 1 :(得分:0)
您可以使用setValue:forKeyPath:
方法:
NSString* path = [NSString stringWithFormat:@"%@.hidden", viewName];
[self setValue:[NSNumber numberWithBool:YES] forKeyPath:path];
答案 2 :(得分:0)
如果您有多个视图,则应将它们放在一个数组中并分别访问该数组的每个元素。
NSMutableArray * views...
[[views objectAtIndex:i] setHidden:NO];