【问题标题】:Trying to append dictionary in Swift [duplicate]试图在 Swift 中附加字典 [重复]
【发布时间】:2015-11-03 08:09:06
【问题描述】:

我正在尝试创建然后附加一个字典,但出现以下我无法解决的错误:Cannot subscript a value of type '[String: AnyObject]?'具有“字符串”类型的索引

有人有想法吗? 提前致谢!

    var parameters: [String:[String:AnyObject]] = [
        "user": [
            "email": email,
            "password": passwordTextField.text,
            "first_name": firstName,
            "last_name": lastName
        ]
    ]

    parameters["user"]["status"] = "Connected"

【问题讨论】:

    标签: ios swift dictionary append


    【解决方案1】:

    无论您从Dictionary 检索到什么,都可能存在也可能不存在,因此它的返回值是可选的。 如果您 100% 确定,则返回的值不是 nil,请使用 !,否则请检查 nil 或使用 ?(正如 Lucian Boboc 所指出的)

    在您的代码中,尝试替换为以下内容。

    parameters["users"]!["status"] = "Connected"
    

    【讨论】:

    • 那是因为返回值是可选的,如果你是100%返回值不为nil,使用"!",否则使用"?"
    【解决方案2】:

    parameters["user"] 是一个可选项,因此您必须明确解开可选项,因为您知道该值存在。

    parameters["user"]!["status"] = "Connected"
    

    【讨论】:

      猜你喜欢
      • 2012-02-14
      • 1970-01-01
      • 2017-12-28
      • 2015-06-10
      • 2019-07-26
      • 2021-04-24
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      相关资源
      最近更新 更多