如何使用 Swift 验证用户默认值将或为空



我正在实现UserDefault字符串值! = nil or !=""但我的验证不起作用。我该如何解决这个问题?

if((UserDefaults.standard.string(forKey: "name")) != nil || UserDefaults.standard.string(forKey: "name") != "") {
self.items.insert(UserDefaults.standard.string(forKey: "name") ?? "", at: 5) // Always reaching here....
}

通过可选的解包检查密钥是否有值。然后检查它是否不为空。然后将其插入数组。

if let value = UserDefaults.standard.string(forKey: "name"), !value.isEmpty {
items.insert(value, at: 5)
}

在您的情况下,每次执行if的原因是因为您使用的是OR(||( 而不是AND(&&(。因此,即使UserDefaults中没有键的值,第二个条件也为真。


PS:在 5 点调用insert之前,请确保数组至少有 6 个项目。

相关内容

最新更新