我得到了这个随机洗牌的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)
}
}
答案 0 :(得分:3)
是的,你可以。 IBAction只是一种具有特定签名和标记的方法,它告诉Interface Builder它可以连接到控件。你可以自己自己打电话。