现在不再是问题。我对此进行了重新编辑以解释发生了什么:
我做了这样的嵌套写作
let key: String!
key = "foo"
let dict = ["Zoes": "7th Street"]
ref.child("/\(key)/shops").setValue(dict)
这导致键“ foo”变成:"Optional(\"foo\")"
作为存储在Firebase中的字符串。
因此,我认为由于key被声明为隐式解包,因此它将仅在字符串插值中解包。但是事实证明,在字符串插值过程中没有强行打开字符串,这就是为什么它写有“ Optional”的原因。现在这不是firebase的问题,这只是String插值在Swift中的工作方式。