更新 xcode 后,我根本无法从字符串中删除 optional() 吗?
retrievedUsername = KeychainWrapper.stringForKey("username")!
这打印出来
可选(“香港”)
但我需要它
香港
我试过了
if let username = KeychainWrapper.stringForKey("username"){
retrievedUsername = username
}
但没有运气!有任何想法吗?
更新 xcode 后,我根本无法从字符串中删除 optional() 吗?
retrievedUsername = KeychainWrapper.stringForKey("username")!
这打印出来
可选(“香港”)
但我需要它
香港
我试过了
if let username = KeychainWrapper.stringForKey("username"){
retrievedUsername = username
}
但没有运气!有任何想法吗?
您的值可能是包含可选的可选,因此您必须将其解包两次:
if let temp = KeychainWrapper.stringForKey("username"), let username = temp {
retrievedUsername = username
}
如果这不起作用,这是因为它不是双重可选的,这意味着由于先前的错误,您的原始字符串已经包含文本“Optional(HK)”。
我发现了问题,它会用“可选”保存到钥匙串中,所以当它检索到字符串时它是“可选(“HK”)”,这就是为什么解开它不起作用