Ios 如何从标签中减去1;26“;每次按下按钮?(敏捷初学者)

Ios 如何从标签中减去1;26“;每次按下按钮?(敏捷初学者),ios,swift,xcode10.1,Ios,Swift,Xcode10.1,敏捷初学者 每次按下“交易”按钮时,我想从值为“26”的标签中减去1。我要把它转换成整数吗?我该如何计算呢 我对cardsAmount.text=“25”进行了编码,它可以工作。但它需要在每次按下按钮时减去1,而不是指定硬编码值 另外,在未来,我想增加的数字 谢谢 class ViewController: UIViewController { @IBOutlet weak var leftPile: UIImageView! @IBOutlet weak var right

敏捷初学者

每次按下“交易”按钮时,我想从值为“26”的标签中减去1。我要把它转换成整数吗?我该如何计算呢

我对cardsAmount.text=“25”进行了编码,它可以工作。但它需要在每次按下按钮时减去1,而不是指定硬编码值

另外,在未来,我想增加的数字

谢谢

class 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)")


    }
    .
    .
    .
}

我认为您应该添加一个
变量
,因为您是初学者。使用以下命令:

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
,然后使用它。如果您对这个答案有任何疑问,请告诉我。

您可以使用property observer

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)")
}

您好,谢谢您的快速响应,但每次按下按钮时我需要它减去1,目前它只执行一次,thanks@ssdd2010更新了答案。虽然,您现在不需要
initialNumber
,但为了您的学习经验,我将它保留在那里。如果您有任何疑问,请务必告诉我。这是有效的,我可以看到如何更改为number=number-1并删除初始number变量。我如何表达我的感激之情?我能做的就是更新你的答案吗?@ssdd2010如果这个答案有效,你可以将其标记为正确。这样,任何其他有相同疑问的人都会自信地相信这个答案。另外,作为一个快速提示,您还可以将
number=number-1写为number-=1
。这也是同样的道理。如果您还有任何疑问,请务必告诉我,否则请将其标记为正确。