Ios 检查NSUserDefaults密钥是否存在会使应用程序崩溃
以下代码位于myAppDelegateIos 检查NSUserDefaults密钥是否存在会使应用程序崩溃,ios,swift,Ios,Swift,以下代码位于myAppDelegatedidFinishLaunchingWithOptions launchOptions:方法中。当我尝试运行应用程序时,它崩溃了 var accessToken = "" if let key = NSUserDefaults.standardUserDefaults().objectForKey("accesstoken"){ accessToken = key as! String } 我从Xcode获得的唯一崩溃日志
didFinishLaunchingWithOptions launchOptions:
方法中。当我尝试运行应用程序时,它崩溃了
var accessToken = ""
if let key = NSUserDefaults.standardUserDefaults().objectForKey("accesstoken"){
accessToken = key as! String
}
我从Xcode获得的唯一崩溃日志是:
我也尝试过:
if NSUserDefaults.standardUserDefaults().objectForKey("accesstoken") != nil {
}
有人能帮我解决这个问题吗?试试可选铸造
var accessToken:String? = nil
if let key = NSUserDefaults.standardUserDefaults().objectForKey("accesstoken") as? String {
accessToken = key
}
转到代码中崩溃的那一行,告诉我们你真的不应该将你的敏感信息存储在用户默认值中。你的应用程序不会因为上面的代码而崩溃。但是在另一条线上撞车。但是xCode显示错误和错误。它不指示代码中的任何行,控制台也不显示除(lldb)之外的任何内容。将
objectForKey
更改为stringForKey
当然,现在可以使用UserDefaults.standard.string(forKey:“accesstoken”)