更新到最新 xcode 后无法从字符串中删除 optional()?

can't remove optional() from string after updating to latest xcode?

更新后 xcode 我无法从我的字符串中删除 optional()?

retrievedUsername = KeychainWrapper.stringForKey("username")!

这打印出来

optional("HK")

但我需要它

HK

我试过了

if let username = KeychainWrapper.stringForKey("username"){
   retrievedUsername = username
}

但运气不好! 有什么想法吗?

您的值可能是包含可选值的可选值,因此您必须将其解包两次:

if let temp = KeychainWrapper.stringForKey("username"), let username = temp {
    retrievedUsername = username
}

如果这不起作用,那是因为它不是双可选的,这意味着您的原始字符串已经包含 text "Optional(HK)" 由于先前的错误。

我发现了问题,它会用 "optional" 保存到钥匙串,所以当它检索字符串时它是 "optional("HK")" 这就是解包不起作用的原因