从Swift 3中的对象获取字符串

时间:2016-09-23 17:49:42

标签: swift swift3

在Swift 2.3中,我有以下代码:

  func getMyName() -> String {
        return NSUserDefaults.standardUserDefaults().objectForKey("account")!["name"] as! String
    }

现在,我正在尝试将此代码转换为Swift 3,但我正在努力解决此错误:

  

键入'任何'没有下标成员

这是我迁移的代码:

func getMyName() -> String {
    return UserDefaults.standard.object(forKey: "account")!["name"] as! String
}

1 个答案:

答案 0 :(得分:2)

UserDefaults有一个名为dictionaryForKey的方法:

func getMyName() -> String {
   return UserDefaults.standard.dictionary(forKey: "account")?["name"] as? String ?? ""
}