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

Swift写入Firebase实时数据库报错:Expected Declaration

解决Swift写入Firebase实时数据库的"Expected declaration"错误

嘿,我帮你定位到问题啦!这个"Expected declaration"错误是因为你把写入数据库的代码直接放在了类的顶层,而不是方法内部。

错误原因

在Swift的类结构中,类的顶层只能放置属性声明、方法定义、初始化器这类代码,不能直接写执行逻辑(比如调用setValue)。你那行self.ref.child(...).setValue(...)属于执行语句,必须放在方法或者闭包里面才能被正确执行。

修正后的代码

把写入数据库的代码移到viewDidLoad方法里就可以解决这个问题了,完整代码如下:

import UIKit
import FirebaseDatabase

class ViewController: UIViewController {
    // 声明数据库引用属性
    var ref: DatabaseReference!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // 初始化数据库引用
        ref = Database.database().reference()
        // 在这里执行写入数据库的操作
        ref.child("Produkt/Kappe/Laden").setValue("Netto")
    }
}

额外提示

  1. 确保你的项目已经正确配置了Firebase:添加了GoogleService-Info.plist文件,并且在项目的入口文件(比如AppDelegate或SceneDelegate)中初始化了Firebase:
import Firebase

// 在application(_:didFinishLaunchingWithOptions:)或者相应的初始化方法里添加
FirebaseApp.configure()
  1. 如果你需要在其他时机写入数据(比如按钮点击事件),只需要把setValue的代码放到对应的方法里就行。

内容的提问来源于stack exchange,提问作者baken

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:19:18