2016-03-03 5 views
0

Я получил эту IBAction, что перемешивает колоду карт случайным образомвызов кнопки IBAction внутри IBAction?

@IBAction func playRoundTapped(sender: UIButton) { 

    cardNamesArray = GKRandomSource.sharedRandom().arrayByShufflingObjectsInArray(cardNamesArray) as! [String] 
    cardNamesArray2 = GKRandomSource.sharedRandom().arrayByShufflingObjectsInArray(cardNamesArray2) as! [String] 



    let firstCardString:String = self.cardNamesArray[0] 
    self.FirstCardImageView.image = UIImage(named: firstCardString) 

    let SecondCardString:String = self.cardNamesArray2[1] 
    self.SecondCardImageView.image = UIImage(named: SecondCardString) 
    } 

... и эта часть оценки кода точки, когда матч карты, однако, когда они Macth мне нужно к ней снова перемешать. Можно ли использовать IBAction playRoundTapped внутри IBAction snapButtonTapped?

@IBAction func SnapButtonTapped(sender: UIButton) { 


     if firstRandomNumber == SecondRandomNumber { 

     print("index match") 

     self.playerScore += 1 
     self.playerScoreLabel.text = String(self.playerScore) 

     cardNamesArray.removeAtIndex(firstRandomNumber) 
     cardNamesArray2.removeAtIndex(SecondRandomNumber) 

      if cardNamesArray.count == 0 && cardNamesArray2.count == 0{ 


       print("user won") 
       //alert box 
       let alert = UIAlertController(title:"Level completed", message: "Your score is \(playerScore)", preferredStyle: UIAlertControllerStyle.Alert) 

       alert.addAction(UIAlertAction(title:"next level", style: UIAlertActionStyle.Default, handler: nil)) 
        self.presentViewController(alert, animated:true, completion:nil) 

      } 

    } 

ответ

3

Да, вы можете. IBAction - это всего лишь метод с определенной сигнатурой и тегом, который сообщает Interface Builder, что он может быть связан с элементами управления. Вы можете называть это самостоятельно.

+0

Как бы вы это назвали в моем случае playRoundTapped внутри snapButtonTapped? – Miguel

+0

@Sam 'self.playRoundTapped (self.buttonReference)' – GoodSp33d

+0

Я пробовал 'self.playRoundTapped (self.playRoundButton)', и он работает, но он просто испортил карты, есть ли другой способ заставить карты перетасовать, когда они соответствует. – Miguel