遍历对象/变量Swift
问题描述:
如何在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
...
}
答
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
}
}
答
除了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
}
是否可以将变量添加到对象名称中。例如:button /(count).alpha = 0.0 –
@codekid,我不认为你可以添加一个像这样的变量,一旦一个对象被创建。但如果你想调用一个特定的按钮,你可以创建一个字典'[String:UIButton]'而不是数组''“button1”:button1,“button2”:button2,“button3”:button3]'。然后调用'dictOfButtons [“button /(count)”]。alpha = 0.0'。 – Tim