2014-12-07 98 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