检查条件并将用户默认值保存到变量中并分配给文本字段。
用户默认状态下的初始条件将为空我正在使用警惕检查条件,如果其条件为空(零)将成本值分配给“”空字符串则从用户默认值中分配值,该值存储在给定的defaultskey.cost中>
class FirstViewControll : ViewController
var costValue: String?
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
costValue! = userDefault.value(forKey: defaultsKeys.cost) as! String
guard costValue != nil else {
self.textField?.text = ""
return
}
self.textField?.text = costValue!
}
应用失败,因为可选值解包失败 致命错误:在展开可选值时意外发现nil
我假设写了一个有效的条件代码。
答案 0 :(得分:4)
您需要检查UserDefaults中是否有一个值。
if let value = userDefault.value(forKey: defaultsKeys.cost) as? String {
// there is a value
costValue = value
} else {
self.textField?.text = ""
}
答案 1 :(得分:0)
我删除了条件不存在的警卫队? “”效果很好!
self.textField?.text = userDefault.string(forKey: defaultsKeys.cost) ?? ""
不知道这是不是一种好方法!