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") } }
额外提示
- 确保你的项目已经正确配置了Firebase:添加了
GoogleService-Info.plist文件,并且在项目的入口文件(比如AppDelegate或SceneDelegate)中初始化了Firebase:
import Firebase // 在application(_:didFinishLaunchingWithOptions:)或者相应的初始化方法里添加 FirebaseApp.configure()
- 如果你需要在其他时机写入数据(比如按钮点击事件),只需要把
setValue的代码放到对应的方法里就行。
内容的提问来源于stack exchange,提问作者baken
相关产品推荐
相关产品推荐

