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

标签 swift swift3

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

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

现在,我正在尝试将此代码转换为 Swift 3,但我正在为这个错误而苦苦挣扎:

Type 'Any' has no subscript members

这是我迁移的代码:

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

最佳答案

UserDefaults 有一个名为 dictionaryForKey 的方法正是为此:

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

关于swift - 从 Swift 3 中的对象获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39666749/

相关文章:

ios - 并非每次都显示 AdMob 广告

ios - 如何使用 NSData 在我的 Golang 服务器上读取我从 iOS 发布的 JSON?

ios - 为什么我无法在 tableview 单元格中正确显示标签文本

ios - Collection view Flow布局有执行分页的概念吗?

ios - UITableView中如何根据一定条件返回固定行高或动态行高?

ios - Unicode不间断空格在标签末尾被删除

swift - 通过电子邮件发送密码重置代码 - Swift + Firebase

ios - 在标签栏 Controller 中嵌入 'show' segues

Swift 3 不正确的字符串插值与隐式展开的 Optionals

swift3 - 如何指定 Swift 3 方法 range(:options:in) 的范围 'in:' 参数)