以下是设置价格为用户默认值(else if
是对LoggedInUserSave
的引用):
UserDefault
我需要将let currentValue = Int(sender.value)
LblPriceValue.text = "\(currentValue)"
Price = "0," + String(describing: currentValue)
LoggedInUserSave.set(Price, forKey: "PriceFilter")
值用作price
。我使用此代码将Int
转换为price
:
int
在做这件事时获得零值。
答案 0 :(得分:0)
我可以注意到,您的代码中存在多个异常(不包括错误使用过程的命名约定),此行(设置值时)描述var Price
属于String
Price = "0," + String(describing: currentValue)
此处(在接收值时),您设置Price
为integer
。
现在解决问题请确保:
sender.value
不是nil,只包含数字字符(否则输入效果不会成功)"0," + String(describing: currentValue)
,这使得string
字面值无法再次转换为Int
。这将是更合适的方式来实现您的目标:
if let i = sender.value as? Int {
self.lbl.text = "\(i)"
UserDefaults.standard.set(i, forKey: "Key")
}
_
//..
if let i : Int = UserDefaults.standard.integer(forKey: "Key") {
//do what you want to do with stored value
}