我在Swift编程,我想在一个循环中设置几个变量。 这些是UIButton,它们都需要相同的设置。但是我不知道如何使用“i”来引用这些变量。这就是我试过的:
var gg1:UIButton = UIButton.buttonWithType(UIButtonType.System) as! UIButton
var gg2:UIButton = UIButton.buttonWithType(UIButtonType.System) as! UIButton
var gg3:UIButton = UIButton.buttonWithType(UIButtonType.System) as! UIButton
//further in the code
for i in 1...3 {
gg(i).layer.anchorPoint.x = 0
gg(i).titleLabel?.font = UIFont(name: "Arial", size: 20*rightFontSize)
gg(i).setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal)
gg(i).sizeToFit()
gg(i).center = CGPointMake(w/20,11*h/10)
scrollView.addSubview(gg(i))
}
答案 0 :(得分:1)
按钮需要在一个数组中,例如:
let buttons = [gg1, gg2, gg3]
然后你可以像这样使用for
循环:
for button in buttons {
// Setup the button...
scrollView.addSubview(button)
}
或者,稍微缩短一下:
for button in [gg1, gg2, gg3] { /* Setup */ }
或者,如果所有按钮都以相同的方式初始化(并且您需要一组按钮),您可以这样做:
var buttons: [UIButton] = []
for i in 0..<3 {
let button = UIButton.buttonWithType(UIButtonType.System) as! UIButton
// Setup the button...
buttons.append(button)
scrollView.addSubview(button)
}
答案 1 :(得分:1)
您可以创建按钮数组:
let array = [gg1, gg2, gg2]
for i in array.count
{
//do something
array[i]
}
答案 2 :(得分:0)
你可以做得很好:
[gg1,gg2,gg3].map({(button:UIButton) -> UIButton in
// Configure the buttons
return button
})