firebase解雇在Swift中重新加载表?

问题描述:

我有3个viewControllers:firebase解雇在Swift中重新加载表?

VcA:我用数据库中的观察员读取数据,并通过与segue VcB。

VcB:我读取数据并显示它,用一个按钮调用VcC来更新带有segue的数据传递数据。

VcC:一个静态tableview在我更新数据并保存它们。

问题是,当我保存VcC后退出并回到VcB时,所有数据都是旧的,即使在Firebase中所有数据都完全更新。

在VCB例如我读到这样的标题:

var groupName: String? 

比didAppear:

Name.title = groupName 

无论如何,如果我还回去从VCB到VCC表中的所有数据都旧数据。

更清楚:

我称之为VCA数据库

enter image description here

在表中单击名称,并通过数据于VCB,一切都很好,现在,标题和其他瓦尔都OK

enter image description here

现在我点击编辑和调用VCC,该表在那里我更新数据,进行更改并保存,

enter image description here

保存VCC解雇后,我回去VCB - >标题仍然是P2,但火力不!

enter image description here

我再次点击编辑以返回到VCC(编辑表),标题是旧

enter image description here

我认为我必须记得从数据库DATAS ..无论如何做到这一点,而无需刷新Firebase的数据?

我知道,如果我保存后一切都恢复正常,但我真的需要去VcB,我该怎么办?

我发现很多线程,这是最相似的,但没有确切的情况... Reload tableView after dismiss a viewController

+0

贵国是否能在那里你试图读取数据的VCB的代码? – Woof

+0

使用“委托”。当您返回VcB时,您将能够从VcC调用reloadData。 – Torewin

+0

@Woof我加了我如何阅读代码 – HaVaNa7

如果我能正确地遵循本。

VCC:

protocol %NAME%Delegate 
{ 
    func reloadData() 
} 


class VcC: UIViewController /*(or table)*/{ 
    var mDelegate : %NAME%Delegate? 


    //in the func you use to dismiss self (VcC) 
    //mDelegate?. reloadData() 

} 

VCB:

class VcB: UIViewController /* (or table)*/,%NAME%Delegate { 
    func reloadData(){ 
     tableView.reloadData() 
     //OR 
     //Observer for Firebase here to gather the new information. Make sure to reset all datasources if you do this. 
    } 
} 
+0

thnx但在VcB我有一个简单的ViewController不是表,该表仅在VcC – HaVaNa7

+0

它会工作,不管。我只是不知道要添加哪个课程。它将与'view'和'table'一起工作。 – Torewin

+0

我做到了,但是当我到达VcB时,标题仍然是旧的,也许我的解雇方法有问题? _ = navigationController?.popViewController(animated:true) – HaVaNa7