试图在 Swift 中附加字典 [重复]

Posted

技术标签:

【中文标题】试图在 Swift 中附加字典 [重复]【英文标题】:Trying to append dictionary in Swift [duplicate] 【发布时间】: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"

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

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

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

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

【讨论】:

以上是关于试图在 Swift 中附加字典 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

为字典中的一个键附加多个值[重复]

附加到 Python 字典中的列表 [重复]

Swift:为啥字典中的键类型必须是 Hashable 类型 [重复]

附加到嵌套 JSON 字典的顶部 [重复]

在swift 3中避免数组中的重复

如何在Swift 5中对[int:String]的字典进行排序[重复]