我可以用 UILabel 做一个 运行 总数吗?

Can I do a running total with UILabels?

我有两个 UILabels,它们在单击不同的对象时添加点,它们保持单独的 运行 总数。我想看看我是否可以对这两个标签进行 运行 加总,然后将它们相加并乘以另一个固定数字。如果不能同时进行其他计算,甚至只是对它们求和:-)

所以我有这些:

@IBOutlet weak var label: UILabel!
@IBOutlet weak var label2: UILabel!
@IBOutlet weak var result: UILabel!

我想做的是保留 运行 total/sum (result) of labellabel2 随着这些数字的变化,另外我想同时进行计算......即:label 乘以数字 2 加上 label2 乘以数字 10,结果填充在 结果标签 中,无需单击按钮,因此它只是一个 运行 全部的。 (即:(标签 x 2)+(标签 2 x 10)= 结果)

labellabel2 当前在单击按钮时会增加它们的值,所以我希望在 运行 总计算。

我已经尝试了很多东西,但到目前为止还没有发现它起作用,所以我希望能在这里得到一些帮助。谢谢。

你可以为 label/label2 添加观察者,并在 observeValue func

中计算
{
   label.addObserver(self, forKeyPath: "text", options: .new, context: nil)
   label2.addObserver(self, forKeyPath: "text", options: .new, context: nil)
}

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {

   result.text = ...
}