我正在使用Firebase存储我的应用程序中的数据。 现在,我可以设法在Firebase数据库中保存和删除我的数据。我的数据库结构是:
我遇到以下问题:应用加载后,我可以在UITableView
上保存并显示在Firebase中输入的数据,但是如果我重新加载并再次打开应用,则{{1} } 是空的。我想显示存储在数据库中的数据。
这是我的代码:
UITableView
答案 0 :(得分:0)
您使用过observe
,它一次读取数据(在您的情况下,当您在模拟器上按Run时)会读取数据,然后它会连续侦听更改,因此当您关闭并打开应用程序时,不会加载任何内容在您的UITableView
上,因为它已经加载一次并且没有进行任何更改。
您有两个选择:
ViewController
时,请分离侦听器。在https://firebase.google.com/docs/database/ios/read-and-write上的分离侦听器下查看更多内容。observe
代替observeSingleEvent
。这将被调用一次,然后自动删除。您了解应用程序的需求,您需要评估哪种方法才是合适的。
答案 1 :(得分:0)
只需从viewDidLoad()
中删除以下代码,然后将其放入viewWillAppear()
中,如下所示:
ref.child("Rotta").observe(.childAdded, with: { (snapshot) in
let post = snapshot.value as? String
if let actualPost = post {
self.emptyArray.append(actualPost)
self.tableView.reloadData()
}
})