在IBAction中调用IBAction按钮?

时间:2016-03-03 15:26:29

标签: swift random 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 snapButtonTapped中使用IBAction playRoundTap吗?

@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)

            }

    }

1 个答案:

答案 0 :(得分:3)

是的,你可以。 IBAction只是一种具有特定签名和标记的方法,它告诉Interface Builder它可以连接到控件。你可以自己自己打电话。