如何在功能内部更新本地更新的值,并将答案设置为功能之外的全局变量



我想在单击这些按钮时添加点,并且应将总计发送回点1。和点1应每次更新,以便如果单击另一个按钮,则应在按钮中调用更新点1值。

'

 var points1 = 0
var pointsGiven = 25
var pointsGivenL = 35
var pointsGivenp = 15

@IBAction func logoutButton(_ sender: Any) {
    logout()
}
@IBAction func kcalButton(_ sender: Any) {
    var points2 = self.points1
    points2 = points1 + pointsGiven
    points1 = points2
    print(points1)
           self.beaconManager.startRangingBeacons(in: region)
}
@IBAction func luluButton(_ sender: Any) {
    var points2 = self.points1
    points2 = points1 + pointsGivenL
    points1 = points2
    print(points1)
      self.beaconManager.startRangingBeacons(in: region1)
}

@IBAction func pizzahutButton(_ sender: Any) {
    var points2 = self.points1
    points2 = points1 + pointsGivenp
   points1 = points2
    self.beaconManager.startRangingBeacons(in: region2)
     print(points1)
}

根据我的评论,您的代码正常工作 - 我在问题中发布时对其进行了测试,并且points1正在按预期进行更新。

可能的问题……

  • 如果在其他地方有另一个var points1的声明,这可能会导致您的问题。
  • 由于某种原因,您要创建一个包含类的新实例,并检查 points1值,而不是您要更新的值。

因此,您可以查看points1正在为其声明添加以下内容…

var points1 = 0 {
    didSet {
        print("New points1 value = (points1)")
    }
}

最新更新