【问题标题】:How to access properties on objects stored in UserDefaults如何访问存储在 UserDefaults 中的对象的属性
【发布时间】:2019-02-27 10:54:28
【问题描述】:

我想通过此语句访问 UserDefaults 中用户数组中的“全名”

Optional({ message = Hello; success = true; user = { fullname = "xyz"; id = 0; }; })
if currentUser?[""] != nil {

// do something 
}

【问题讨论】:

  • 请不要将代码作为问题的标题。您需要更新您的问题并在社区投票结束此问题之前明确您的要求
  • 这些信息不足以了解您需要什么帮助。请提供背景信息、详细而准确的解释,说明您正在尝试做什么以及您想要达到什么结果。

标签: swift


【解决方案1】:

假设可选的:Optional({ message = Hello; success = true; user = { fullname = “xyz”; id = 0; }; }) 设置为currentUser

if let currentUser = currentUser { //get a not optional value of currentUser
    let fullname = currentUser["fullname"] //you will get an optional here
    if fullname != nil {
       print("Full name: \(fullname!)")
    } else {
       print("Full name wasn't provided")
    }
}

但您可以在一行检查中提供相同的内容:

if let currentUser = currentUser, let fullname = currentUser["fullname"] {
    print("Full name: \(fullname)"
}

更多关于可选选项的信息,您可以在文档中阅读:https://developer.apple.com/documentation/swift/optional 或在一些博客文章中,我推荐这个:https://hackernoon.com/swift-optionals-explained-simply-e109a4297298

【讨论】:

    【解决方案2】:

    斯威夫特 3

    商店

    UserDefaults.standard.set(true, forKey: "Key") //Bool
    UserDefaults.standard.set(1, forKey: "Key")  //Integer
    UserDefaults.standard.set("TEST", forKey: "Key") //setObject
    

    检索

    UserDefaults.standard.bool(forKey: "Key")
    UserDefaults.standard.integer(forKey: "Key")
    UserDefaults.standard.string(forKey: "Key")
    

    检索对象

    var returnValue: [datatype]? = UserDefaults.standard.object(forKey: "key_name") as? [datatype]
    

    删除

    UserDefaults.standard.removeObject(forKey: "Key")
    

    删除所有密钥

    if let appDomain = Bundle.main.bundleIdentifier {
    UserDefaults.standard.removePersistentDomain(forName: appDomain)
    }
    

    【讨论】:

      猜你喜欢
      • 2020-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      相关资源
      最近更新 更多