2015-11-08 194 views
0

如何在Swift中遍歷對象/變量。附加對象時,我可以創建數組還是字典,以便我不必爲每個按鈕編寫代碼。我是一個nubie,所以請告訴我像我四歲。我在這裏先向您的幫助表示感謝。遍歷對象/變量Swift

import UIKit 
class ViewController: UIViewController { 

@IBOutlet weak var button1: UIButton! 
@IBOutlet weak var button2: UIButton! 
@IBOutlet weak var button3: UIButton! 
... 


override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    self.button1.alpha = 0.0 
    self.button2.alpha = 0.0 
    self.button3.alpha = 0.0 
    ... 
} 

回答

3
import UIKit 
class ViewController: UIViewController { 

    @IBOutlet weak var button1: UIButton! 
    @IBOutlet weak var button2: UIButton! 
    @IBOutlet weak var button3: UIButton! 
    var arrayOfButtons = [UIButton]() 


override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    arrayOfButtons = [button1, button2, button3] 
    for button in arrayOfButtons { 
     button.alpha = 0.0 
    } 
} 
+0

是否可以將變量添加到對象名稱中。例如:button /(count).alpha = 0.0 –

+0

@codekid,我不認爲你可以添加一個像這樣的變量,一旦一個對象被創建。但如果你想調用一個特定的按鈕,你可以創建一個字典'[String:UIButton]'而不是數組''「button1」:button1,「button2」:button2,「button3」:button3]'。然後調用'dictOfButtons [「button /(count)」]。alpha = 0.0'。 – Tim

1

除了Tim的回答,您還可以創建按鈕編程,並在代碼中對付他們!

override func viewDidLoad() { 
for i in 1...10 { 
    let button = UIButton() 
    button.frame = CGRectMake((CGFloat(i-1)*50), 0, 50, 50) 
    button.targetForAction("buttonClick:", withSender: self) 
    button.tag = i 
    self.view.addSubview(button) 
} 
} 


func buttonClick(sender:AnyObject) { 
    let tag = sender.tag! 
    //click logic here 
}