0

致命错误问题:在展开可选值时意外发现 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.

如果我预先填充数据,则可以使用。但我想允许一个零值。

4

3 回答 3

5

stringForKey 返回一个可选值,因此您可以使用 nil 合并运算符“??” 在 nil 的情况下返回一个空字符串 "":

let lastupdate = defaults.stringForKey("localdate") ?? ""
于 2015-03-14T16:56:43.913 回答
1
let lastupdate = defaults.stringForKey("localdate")
self.lastUpdate.text = {
    if let date = lastupdate {
        return "Updated at \(date)"
    }
    return "Not yet updated"
}()
于 2015-03-14T16:56:30.600 回答
1

尝试这个,

if let lastupdate = userDefaults.stringForKey("localdate"){
    self.lastUpdate.text = "Updated at " + lastupdate
    } else {
        println("nil value")
        // do what ever u want
    }
于 2015-03-14T17:33:30.667 回答