首页 > 解决方案 > 使用 Userdefaults 检查初始条件失败

问题描述

检查条件并将用户默认值存储到变量中并分配给文本字段。

用户默认值中的初始条件将为空我正在使用警卫检查条件,如果它为空(nil)将成本值分配给“”空字符串,否则从用户默认值中分配值,该值从给定的 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

我假设写了一个有效的条件代码。

标签: iosswiftnsuserdefaultsoptional

解决方案


您需要检查 UserDefaults 中是否有值。

if let value = userDefault.value(forKey: defaultsKeys.cost) as? String {
   // there is a value 
   costValue = value
} else {
   self.textField?.text = ""
}

推荐阅读