每次按下按钮时,如何从标签“ 26”中减去1? (快速入门)

问题描述 投票:0回答:2

快速入门

我想每次按下“交易”按钮时从带有“ 26”的标签中减去1。我可以将其转换为Int吗?以及如何向其中添加计算?

我编码的cardsAmount.text =“ 25”有效,但是每次按下该按钮都需要减去1。

将来也要添加到该号码中。

谢谢!

类ViewController:UIViewController {

@IBOutlet weak var leftPile: UIImageView!

@IBOutlet weak var rightPile: UIImageView!

@IBOutlet weak var cardsAmount: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    }


@IBAction func deal(_ sender: Any) {

    let shuffled = (2...53).shuffled()
    let leftNumber = shuffled[0]
    let rightNumber = shuffled[1]

    //cardsAmount.text = "25"

    leftPile.image = UIImage(named: "c\(leftNumber)")

    rightPile.image = UIImage(named: "c\(rightNumber)")


}
ios swift xcode10.1
2个回答
0
投票

我认为您是初学者,应该添加variable。使用这个:

var initialNumber: Int = 1
var number: Int = 26

@IBAction func deal(_ sender: Any) {

    let shuffled = (2...53).shuffled()
    let leftNumber = shuffled[0]
    let rightNumber = shuffled[1]

    number = number - initialNumber
    cardsAmount.text = "\(number)" //This is to subtract. Now you can check if it is a negative number and perform operations ahead using if else

    leftPile.image = UIImage(named: "c\(leftNumber)")

    rightPile.image = UIImage(named: "c\(rightNumber)")


}

您可以采用相同的方法添加号码。如果要保存initialNumber,则可以写入initialNumber = initialNumber + 1,然后使用它。如果您对此答案有任何疑问,请告诉我。


0
投票

您可以使用属性观察器。

var number: Int = 26 {
    didSet {
        if number > 0 {
        self.cardsAmount.text = "\(number)"
        }
    }
}

@IBAction func deal(_ sender: Any) {
    let shuffled = (2...53).shuffled()
    let leftNumber = shuffled[0]
    let rightNumber = shuffled[1]

    number -= 1 // whenever number value changes, didSet (property observer) will be called

    leftPile.image = UIImage(named: "c\(leftNumber)")
    rightPile.image = UIImage(named: "c\(rightNumber)")
}
© www.soinside.com 2019 - 2024. All rights reserved.