Ios 使用Userdefaults检查初始条件失败
检查条件并将用户默认值存储到变量中,并分配给textfield 用户默认值中的初始条件将为空我正在使用guard检查条件,如果其为空(nil),则将成本值分配给“”空字符串,否则将从用户默认值中分配其从给定defaultskey.cost存储的值Ios 使用Userdefaults检查初始条件失败,ios,swift,nsuserdefaults,optional,Ios,Swift,Nsuserdefaults,Optional,检查条件并将用户默认值存储到变量中,并分配给textfield 用户默认值中的初始条件将为空我正在使用guard检查条件,如果其为空(nil),则将成本值分配给“”空字符串,否则将从用户默认值中分配其从给定defaultskey.cost存储的值 class FirstViewControll : ViewController var costValue: String? override func viewWillAppear(_ animated: Bool) {
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
我假设编写了一个有效的条件代码 您需要检查UserDefaults中是否有值
if let value = userDefault.value(forKey: defaultsKeys.cost) as? String {
// there is a value
costValue = value
} else {
self.textField?.text = ""
}
我移除了防护装置,但条件不存在??”“很好
self.textField?.text = userDefault.string(forKey: defaultsKeys.cost) ?? ""
不知道这是不是好办法 costValue=userDefault.value(forKey:defaultsKeys.cost)作为?绳子。只要更换这一行工作完美!需要知道在将“!”替换为“?”后,字符串接受选项。