我有两个UILabels,它们在单击不同的对象时会添加点,它们会保持各个运行总计。我想看看是否可以对这两个标签求和,然后将它们相乘并乘以另一个固定数字。如果无法同时进行其他计算,甚至可以将它们求和:-)
所以我有这些:
@IBOutlet weak var label: UILabel!
@IBOutlet weak var label2: UILabel!
@IBOutlet weak var result: UILabel!
我想做的是随着这些数字的变化,保持label和label2的运行总计/总和(结果),此外,我还要进行计算同时...,即:label乘以数字2加上label2乘以数字10,结果填充在结果标签中,而无需单击按钮,因此它只是总计。 (即:(标签x 2)+(标签2 x 10)=结果)
label和label2当前在单击按钮时会增加其值,因此我希望在计算运行总计时不会再有其他单击。
我已经尝试了很多事情,但到目前为止还没有发现它能起作用,所以我希望可以在这里得到一些帮助。谢谢。
您可以为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 = ...
}