Swift 当我带一个UITextField';s输入变量或UserDefault,变量/UserDefault最终为nil
当我打印.text属性时,Swift 当我带一个UITextField';s输入变量或UserDefault,变量/UserDefault最终为nil,swift,uitextfield,Swift,Uitextfield,当我打印.text属性时,print(inputField.text!),它会打印我输入的0.0925。但是,当我将其带到UserDefault或变量时,defaults.set(Int(inputField.text!),forKey:“taxRate”) 打印(defaults.value(forKey:“taxRate”),它打印nil。我是否可以修复此问题,以便UserDefault打印正确的值 我是个十足的白痴,我没有意识到输入的数字永远不应该是整数,应该是浮点/双精度。谢谢马特让我意
print(inputField.text!)
,它会打印我输入的0.0925
。但是,当我将其带到UserDefault或变量时,defaults.set(Int(inputField.text!),forKey:“taxRate”)
打印(defaults.value(forKey:“taxRate”)
,它打印nil
。我是否可以修复此问题,以便UserDefault打印正确的值
我是个十足的白痴,我没有意识到输入的数字永远不应该是整数,应该是浮点/双精度。谢谢马特让我意识到这一点。我所要做的就是将
defaults.set(Int(inputField.text!),forKey:“taxRate”)
更改为defaults.set(Double(inputField.text!),forKey:“taxRate”)
问题在于表达式
Int(inputField.text!)
文本不是Int。某些文本可能表示Int,但您的文本“0.0925”不表示Int。所以
nil
是正确的答案,很难看出你还期望什么 我是个十足的白痴,我没有意识到输入的数字永远不应该是整数,应该是浮点/双精度。谢谢马特让我意识到这一点。我所要做的就是改变
defaults.set(Int(inputField.text!), forKey: "taxRate")
到
你是个了不起的人。这可能行得通,而我是个白痴
defaults.set(Double(inputField.text!), forKey: "taxRate")