如何在FOR循环中设置多个变量?

时间:2015-05-10 17:13:56

标签: ios swift for-loop

我在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))
}

3 个答案:

答案 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
})