我可以用UILabels做一个连续的合计吗



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

所以我有这些:

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

我想做的是保持标签标记2的总和(结果(随着这些数字的变化而不断变化,此外,我还想同时进行计算。。。即:label乘以数字2加上label2再乘以数字10,结果填充在结果标签中,而无需单击按钮,因此它只是一个连续的总数。(即:(标签x 2(+(标签2 x 10(=结果(

labellabel2当前在单击按钮时会增加其值,因此我希望在计算运行总数时不会有其他单击。

我已经尝试了很多方法,但到目前为止都不起作用,所以我希望我能在这里得到一些帮助。非常感谢。

您可以为label/label2添加观察者,并在observeValue函数中计算

{
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 = ...
}

最新更新