You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Swift 数据写入报错排查:指定结构体写法疑问

解决Firebase写入数据的语法错误问题

嘿,我一眼就瞅出你代码里的小问题了——这是把Swift语法和JS风格写法搞混导致的,非常常见的小失误!

你的代码里有两个关键问题:

  • 嵌套字典的写法不对:在Swift里,不能直接用{ "key": value }这种类似JavaScript的对象写法来定义字典,得用Swift标准的["key": value]语法
  • 多余的尾逗号:字典最后一个键值对后面加逗号,在Swift的严格语法检查下会报错,得删掉那些多余的逗号

给你修正后的代码:

self.ref.child("Users").child(userID).setValue([ 
    "DatosPersonales": [
        "ID": userID, 
        "email": userEmail, 
        "password": userPass, 
        "Nombre": userName, 
        "ImagenProfiel": "0"
    ], 
    "Progreso": [
        "Nivel": "0", 
        "LugaresVisitados": [
            "idLugar": "0"
        ]
    ] 
])

简单说下原因:Firebase的setValue(_:)方法在Swift中接受的是Any?类型,这里我们传入的是嵌套的[String: Any]字典,必须严格遵循Swift的字典语法规则,不能混用其他语言的写法。删掉多余的尾逗号,把所有嵌套的{}换成[],就能正常写入数据啦!

内容的提问来源于stack exchange,提问作者Emmanuel Garcia Martinez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:04:21