我目前正在执行一款简单的iOS纸牌游戏。我做了下面的操作来设置UIButton的按钮标签:
self.firstCardButton.tag = 1;
现在,我需要20个按钮而不是一个。因此,我使用一个包含所有按钮的数组,如:
self.buttonArray=@[self.firstCardButton,self.secondCardButton, ... ];
我想我以后会改进的。但现在我想问的问题是:
是否可以将标签分配给数组的元素?我尝试了以下操作,但没有成功:
[self.buttonArray objectAtIndex:0].tag = 1;
我的实际版本只是:
self.firstCardButton.tag = 1;
self.secondCardButton.tag = 2;
self.thirdCardButton.tag = 3;
self.fourthCardButton.tag = 4;
...
有谁知道如何以更好的方式写这个吗?
提前感谢!
您可以使用循环来迭代您的NSArray
,并分配标记,如下所示:
for (int i = 0 ; i != buttonArray.count ; i++) {
[[buttonArray objectAtIndex:i] setTag:i+1];
}
注意:我假设按钮不是通过UI Builder创建的,因为否则你将有机会通过在故事板/NIB文件中配置它们来设置它们的标签。
像这样做
for (int i = 0 ; i != array.count ; i++) {
UIButton *but=(UIbutton *)[array objectAtIndex:i];
butt.tag=i;
}