Swift2 如何在多数组中创建键值?

Swift2 如何在多数组中创建键值?,swift2,Swift2,我创建了如下数组: var locale : [String : [String : [String : String]]] = [:] 我想检查一个值是否存在,如果不存在,则创建它: if locale["10333"]?["12000"]?["message"] == nil { //create one locale["10333"]!["12000"]!["message"] = "hey test" } 我的错误是: 致命错误:在展开可选值时意外发现nil 如何创建

我创建了如下数组:

var locale : [String : [String : [String : String]]] = [:]
我想检查一个值是否存在,如果不存在,则创建它:

if locale["10333"]?["12000"]?["message"] == nil {
    //create one
    locale["10333"]!["12000"]!["message"] = "hey test"
}
我的错误是:

致命错误:在展开可选值时意外发现nil

如何创建键区域设置[KEY][KEY][KEY]=值

有人能给我一点提示吗?

可能区域设置[10333]为零,或者区域设置[10333]为零![12000]是零。 在本例中,访问区域设置[10333]![12000]! 将生成您收到的致命错误


您必须检查nil并根据需要初始化任何字典值,而不仅仅是最后一个

一些提示:您认为错误消息的含义是什么?你会怎么做[10333]!如果区域设置没有10333的值,您会这样做吗?你能想出一种不使用任何代码就编写更安全代码的方法吗!运算符?如果我的区域设置为[10333][12000][message]=hey test,我的错误是无法为“[String:[String:String]]”类型的值下标一个“String”类型的索引,并且如果我第一次检查,我是stuckYes,则为零,在此之后我要添加键和值。为什么在swift中如此复杂?如何初始化?@user4347073在设置区域设置[10333]之前,您需要将区域设置[10333]设置为某个值![12000],您需要设置区域设置[10333]!在设置区域设置[10333]之前,先将[12000]设置为某个值![12000]![消息]。当我尝试创建不存在键时,我认为是自动设置的。顺便说一句,谢谢,我会试试的