有货币汇率数组,并在 inputTextField 中输入金额后,我想更新此数组中的所有项目,以该货币的金额并将其放在 tableView 中,尝试使用循环执行此操作,但无法正常工作,因为这是解决方案只是把每个循环放在 table 上
inputTextField 是文本字段的名称
receivedRates:[Double] = [1.1,1.6,2.0,1.3] // just example of the rates
for i in receivedRates {
let newValue = Double(i)*Double(Int(inputTextField.text!)!)
currentAmount.append(newValue)
receivedRates = currentAmount
}
如何在没有循环的情况下更新此数组,或者此循环是否有其他解决方案?
最佳答案
您想使用文本字段的double值来覆盖数组中的所有项目。
Swift中最合适的方法是map
var receivedRates = [1.1, 1.6, 2.0, 1.3]
receivedRates = receivedRates.map{ $0 * Double(inputTextField.text!)! }
或者,您可以枚举索引并在适当的位置更新值
receivedRates.indices.forEach{ receivedRates[$0] *= Double(inputTextField.text!)! }
我怀疑您是否真的要先将文本转换为
Int
(丢失小数部分),然后再转换为Double
,当然您应该安全地打开 optional 。关于ios - 如何以正确的方式更新 Array 中的所有项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48365504/