我得到了一个随机洗牌的游戏
@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)
}
…这部分代码在纸牌匹配时得分,但当它们匹配时,我需要它再次洗牌。我可以在iAction SnapButton中使用iAction playRoundTapped吗?
@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)
}
}
最佳答案
是的,你可以。IBAction只是一个具有特定签名和标记的方法,该标记告诉Interface Builder它可以连接到控件。你可以自己叫它。