当我将UITextField的输入带到变量或UserDefault时,变量/ UserDefault最终为nil

时间:2019-11-27 22:27:35

标签: swift uitextfield

当我打印.text属性print(inputField.text!)时,它会打印0.0925,这是我输入的内容。但是,当我将其带到UserDefault或变量
defaults.set(Int(inputField.text!), forKey: "taxRate") print(defaults.value(forKey: "taxRate"))时,它会显示nil。无论如何,我可以解决这个问题,以便UserDefault打印正确的值吗?

我是一个笨蛋,我没有意识到输入的数字永远不能是整数,而应该是浮点数/双精度数。谢谢马特让我意识到这一点。我要做的就是将defaults.set(Int(inputField.text!), forKey: "taxRate")更改为defaults.set(Double(inputField.text!), forKey: "taxRate")

2 个答案:

答案 0 :(得分:0)

问题在于表达式

Int(inputField.text!)

文本不是Int。某些文本可能表示一个Int,但您的文本“ 0.0925”却没有。因此,nil是正确的答案,很难看出您还有什么期望。

答案 1 :(得分:0)

我是个笨蛋,我没有意识到输入的数字永远不能是整数,而应该是浮点数/双精度数。谢谢马特让我意识到这一点。我要做的就是改变

defaults.set(Int(inputField.text!), forKey: "taxRate")

defaults.set(Double(inputField.text!), forKey: "taxRate").