Swift 展开可选值 NSDefautlts 时发现 nil 的问题
Swift issue with nil found while unwrapping an Optional value NSDefautlts
致命错误问题:展开可选值时意外发现 nil。
let lastupdate = defaults.stringForKey("localdate")
self.lastUpdate.text = "Updated at " + last update! //issues when I use this line
self.lastUpdate.text = lastupdate // If use this line I have no issues.
如果我预先填充数据就可以工作。但我想允许一个零值。
let lastupdate = defaults.stringForKey("localdate")
self.lastUpdate.text = {
if let date = lastupdate {
return "Updated at \(date)"
}
return "Not yet updated"
}()
stringForKey returns 是可选的,因此您可以使用 nil 合并运算符“??”到 return 一个空字符串 "" 在 nil 的情况下:
let lastupdate = defaults.stringForKey("localdate") ?? ""
试试这个,
if let lastupdate = userDefaults.stringForKey("localdate"){
self.lastUpdate.text = "Updated at " + lastupdate
} else {
println("nil value")
// do what ever u want
}
致命错误问题:展开可选值时意外发现 nil。
let lastupdate = defaults.stringForKey("localdate")
self.lastUpdate.text = "Updated at " + last update! //issues when I use this line
self.lastUpdate.text = lastupdate // If use this line I have no issues.
如果我预先填充数据就可以工作。但我想允许一个零值。
let lastupdate = defaults.stringForKey("localdate")
self.lastUpdate.text = {
if let date = lastupdate {
return "Updated at \(date)"
}
return "Not yet updated"
}()
stringForKey returns 是可选的,因此您可以使用 nil 合并运算符“??”到 return 一个空字符串 "" 在 nil 的情况下:
let lastupdate = defaults.stringForKey("localdate") ?? ""
试试这个,
if let lastupdate = userDefaults.stringForKey("localdate"){
self.lastUpdate.text = "Updated at " + lastupdate
} else {
println("nil value")
// do what ever u want
}