2014-12-07 104 views
1

我有一个按钮数组,并且在程序开始时我希望用户选择一个按钮,然后它将更改其背景。 我写了一个switch语句,但我不知道我怎么能落实到override func viewDidLoad(),即,我不知道我应该怎么写作为参数,而不是UIButton的具有参数的SWIFT函数viewDidLoad

class ViewController: UIViewController { 

@IBOutlet var cardsArray: Array<UIButton> = [] 


override func viewDidLoad() { 
    super.viewDidLoad() 
    self.playerMove(sender: UIButton)  
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


@IBAction func playerMove(sender: UIButton) { 

    switch (sender) { 
    case self.cardsArray[0]: 
     self.cardPressedAll(0) 

    case self.cardsArray[1]: 
     self.cardPressedAll(1) 

    case self.cardsArray[2]: 
     self.cardPressedAll(2) 

    default: break 
    } 

} 



func cardPressedAll (cardNumber: Int) { 

    self.cardsArray[cardNumber].enabled = false 

    self.cardsArray[cardNumber].setBackgroundImage(UIImage(named: "cross"), forState: UIControlState.Normal) 
} 
} 

回答

0

而不是调用'的self.playerMove(发件人:UIButton)'在您的视图确实加载你需要连接你的按钮到你的IBAction使用故事板。

+0

太简单了!谢谢。那么你能告诉我什么是viewDidLoad类吗? iOS开发者库对我来说没有足够的解释。 – Dandy 2014-12-07 19:14:47

+0

viewDidLoad是UIViewController中的一个方法,当viewcontrollers视图加载完成时会触发它。您通常使用该方法执行所有设置。 – matteok 2014-12-07 19:27:39

+0

你的回答帮了我很大的忙,其实我又遇到了同样的问题:我不知道如何使用我的IBAction playerMove在一个主要函数中播放。它应该看起来像:'FUNC播放(){ self.playerMove(UIButton的) self.autoMove() }' – Dandy 2014-12-07 19:31:39