For loop 用于循环以在Swift中更改按钮标题

For loop 用于循环以在Swift中更改按钮标题,for-loop,swift,For Loop,Swift,我想使用for循环来更改5个按钮的标题。我想用I作为变量来替换数字 for (var i = 1; i < 6; ++i) { let buttonName = button0 + i buttonName.setTitle("Sydvestpynten", forState: UIControlState.Normal) } (变量i=1;i

我想使用for循环来更改5个按钮的标题。我想用I作为变量来替换数字

for (var i = 1; i < 6; ++i) {     

let buttonName = button0 + i                  
buttonName.setTitle("Sydvestpynten", forState: UIControlState.Normal)

}
(变量i=1;i<6;++i){ 让buttonName=button0+i buttonName.setTitle(“SydVestPyten”,用于状态:uicontrol状态.Normal) } 我的按钮称为button01、button02等


上面的代码不起作用。我做错了什么?

尝试将按钮存储在数组中,然后在数组中循环并设置标题

var arrayOfButtons:[UIButton] = []

//add buttons here using arrayOfButtons.append(myButton)

for button in arrayOfButtons
{
    button.setTitle("title", forState: UIControlState.Normal)
}

将数组设为属性可能是个好主意。

您不能像正在尝试的那样动态创建变量名。像这样的事情只在少数(脚本)语言中起作用,即使这样也被认为是一种不好的做法

但是有一个简单的解决方法:使用数组。将按钮存储在数组中,而不是创建大量变量,或者动态构造数组:

for button in [button01, button02, button03, button04, button05, button05] {
    button.setTitle("Sydvestpynten", forState: UIControlState.Normal)
}
如果您使用的是Interface Builder,请记住您也可以将iBootletCollections与Swift一起使用。不过,语法有点不同:

@IBOutlet var buttons: Array<UIButton>
@IBOutlet var按钮:数组

在Interface Builder中,您可以将几个按钮分配给同一个插座(
按钮
)。

我不认为您可以在运行时构造这样的变量名。请检查我的答案以获得解决方案虽然Rajeev的答案与您的要求相符,但我怀疑您最好使用
iBootletCollection
,它允许您将一组按钮放入一个插座中,请参阅此处以获取更多信息谢谢您的帮助。我一直想亲自去看看谢谢你的解决方案谢谢你的帮助!
@IBOutlet var buttons: Array<UIButton>