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

iPhone OS:使用NSString变量指定属性或ivar,iphone,variables,syntax,nsstring,Iphone,Variables,Syntax,Nsstring,我有一个程序,我想根据某些变量隐藏或显示某些UIButton,所有按钮都以递增方式命名,如“button1,button2,button3” 因此,我想遍历按钮,但我不知道如何在赋值语句中使用nsstring作为点符号赋值中的变量来寻址按钮,例如: for (int i = 1; i < weekday; i++) { int buttonIncrement = 0; NSString *tempString = [[NSString alloc] initWithFor

我有一个程序,我想根据某些变量隐藏或显示某些UIButton,所有按钮都以递增方式命名,如“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;
}
for(int i=1;i
任务的“tempString”部分我想告诉它插入“calbuttonx”,其中x是按钮编号

你能做到吗?如果是,请解释。

使用数组


如果不能使用数组,可以使用以下字符串引用属性:

使用数组


如果不能使用数组,可以使用以下字符串引用属性:


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

- (UIView *)viewWithTag:(NSInteger)tag
如类上定义的,例如:

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

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

    if( subview ) { 

        ...
    }
}
for(int k=0;k<5;++k){
id子视图=[self.view viewWithTag:k];
如果(子视图){
...
}
}

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

- (UIView *)viewWithTag:(NSInteger)tag
如类上定义的,例如:

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

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

    if( subview ) { 

        ...
    }
}
for(int k=0;k<5;++k){
id子视图=[self.view viewWithTag:k];
如果(子视图){
...
}
}

我试图使用interface builder制作按钮,因为这是我所知道的,使用IB制作数组的任何方法,或者你必须以编程方式布局界面吗?@nick:我认为数组需要以编程方式填充。我试图使用interface builder制作按钮,因为我知道,有什么方法可以将IB与数组一起使用,或者你必须以编程方式布局界面吗?@nick:我认为数组需要以编程方式填充。太棒了,我认为这会起作用,我会告诉你进展情况,因为我相信你等不及要知道,哈哈。再次感谢!是的,这确实有效,尽管我最终不得不将代码重新编写成一种更为程序化的方法,但我真的非常感谢您的帮助。太棒了,我认为这会起作用,我会告诉您进展情况,因为我确信您等不及要知道,哈哈。再次感谢!是的,这确实有效,尽管我最终不得不将代码重新编写成一种更为程序化的方法,但我真的非常感谢您的帮助。