iPhone OS:使用NSString变量指定属性或ivar

时间:2010-04-05 19:52:43

标签: iphone variables syntax nsstring

我有一个程序要隐藏或显示某些UI按钮,具体取决于某些变量,并且所有按钮都按照'button1,button2,button3'逐步命名。

所以我想迭代按钮,但我不知道如何使用nsstring作为点符号赋值中的变量来解决赋值语句中的按钮,例如:

 for (int i = 1; i < weekday; i++) {
    int buttonIncrement = 0;
    NSString *tempString = [[NSString alloc] initWithFormat:
    @"calbutton%i", buttonIncrement];

 self.tempString.hidden = YES;
}

分配的“tempString”部分我想告诉它插入“calbuttonx”,其中x是按钮编号。

你能以某种方式这样做吗?如果是这样请解释。

2 个答案:

答案 0 :(得分:3)

使用数组!


如果您不能使用数组,则可以使用Key-Value Coding (KVC)字符串引用属性:

UIButton* button = [self valueForKey:tempString];
button.hidden = YES;

答案 1 :(得分:2)

您还可以为IB中的每个按钮分配标签,并使用

获取与标签关联的按钮
- (UIView *)viewWithTag:(NSInteger)tag

在课程UIView上定义,例如:

for( int k = 0; k < 5; ++k ) {

    id subview = [self.view viewWithTag: k];

    if( subview ) { 

        ...
    }
}