当我打印 .text 属性 print(inputField.text!)
时,它会打印 0.0925
,这就是我输入的内容。但是当我将其传递给 UserDefault 或变量时, defaults.set(Int(inputField.text!), forKey: "taxRate")
print(defaults.value(forKey: "taxRate"))
,它打印nil
。无论如何,我可以解决这个问题,以便 UserDefault 打印正确的值吗?
我是个大白痴,我没有意识到输入的数字不应该是整数,它应该是 float / double 。感谢马特让我意识到这一点。我所要做的就是将 defaults.set(Int(inputField.text!), forKey: "taxRate")
更改为 defaults.set(Double(inputField.text!), forKey: “税率”)
。
最佳答案
问题在于表达式
Int(inputField.text!)
文本不是 Int。某些文本可能代表 Int,但您的文本“0.0925”则不代表 Int。所以 nil
是正确的答案,很难看出你还期望什么。
关于swift - 当我将 UITextField 的输入传递给变量或 UserDefault 时,变量/UserDefault 最终为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59079283/