基本上我想做的是在newCard
运行时将bool变量playButton
设置为true,这样当firstCardPressed
运行时,它只会将图像设置为True ,然后将其重置为false。
问题是我收到错误说明
从未使用过变量newCard的初始化
但我似乎无法弄清楚如何正确初始化它。
@IBAction func playButton(sender: UIButton) {
// Randomize the face up stack
let firstRandomNumber:Int = Int(arc4random_uniform(52))
let firstCardString:String = self.deckArray[firstRandomNumber]
self.faceUpStack.image = UIImage(named: firstCardString)
var newCard = true
}
@IBAction func firstCardPressed(sender: UIButton) {
let cardKept = self.faceUpStack.image
if newCard == true {
self.firstCard.image = cardKept
newCard = false
}
}
答案 0 :(得分:1)
var newCard = false
@IBAction func playButton(sender: UIButton) {
// Randomize the face up stack
let firstRandomNumber:Int = Int(arc4random_uniform(52))
let firstCardString:String = self.deckArray[firstRandomNumber]
self.faceUpStack.image = UIImage(named: firstCardString)
newCard = true
}
@IBAction func firstCardPressed(sender: UIButton) {
let cardKept = self.faceUpStack.image
if newCard {
self.firstCard.image = cardKept
newCard = false
}
}
答案 1 :(得分:1)
newCard是一个局部变量。当func启动时出现,当func结束时它会在没有轨道的情况下消失。 " var newCard = true"因为编译器告诉你,你的func中的最后一个语句是没有意义的,因为局部变量newCard稍后会消失一个实例。
您可能希望它是您班级中的实例变量。它已经很有可能,因为否则firstCardPressed将无法编译。