swift - firebase 在 Swift 中关闭重新加载表?

标签 swift uitableview firebase reloaddata

我有 3 个 viewController:

VcA:我使用观察者从数据库读取数据,并通过 segue 传递给 VcB。

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

VcC:一个静态表格 View ,我在其中更新数据并保存它们。

问题是,当我在保存 VcC 后关闭并返回 VcB 时,所有数据都是旧的,即使在 firebase 中所有数据都已完美更新。

例如,在 VcB 中,我读到的标题是这样的:

 var groupName: String?

比 didAppear 中的:

 Name.title = groupName

无论如何,如果我也从 VcB 返回到 VcC,则表中的所有数据都是旧数据。

更清楚地说:

我在VcA中调用数据库

enter image description here

点击表中的名称并将数据传递给Vcb,现在一切都很好,标题和其他变量都可以

enter image description here

现在我单击“编辑”并调用 VcC,我在该表中更新数据、进行更改并保存,

enter image description here

保存 VcC 后关闭并返回 VcB -> 标题仍然是 p2 但在 firebase 中不是!

enter image description here

我再次点击“编辑”返回到VcC(编辑表),标题是旧的

enter image description here

我认为我必须从数据库中调用数据...无论如何都要在不刷新 Firebase 数据的情况下执行此操作?

我知道如果我保存全部后返回VcA没问题,但我确实需要转到VcB,我该怎么办?

我找到了很多帖子,这是最相似但不完全准确的情况... Reload tableView after dismiss a viewController

最佳答案

如果我能正确地遵循这一点。

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.
    }
}

关于swift - firebase 在 Swift 中关闭重新加载表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46760581/

相关文章:

android - Android的RelativeLayout和iOS的AutoLayout有什么区别?

android - 如何在布局中显示 firebase 通知消息

android - 如何在flutter中将token设置为全局变量?所以我可以随时随地访问 token

arrays - 将 switch 语句与数组一起使用时,类型 '[String]' 的表达式模式无法匹配类型 '[String]' 的值

ios - iOS 开发是否有文本布局表示(XML 或其他)?

ios - 在 Swift 中将 NSMutableDictionary 转换为 NSData

ios - 使用自定义标题按钮修改 TableView 中的部分?

ios - UITableViewCell 中垂直居中右侧细节 UILabel

ios - Swift - 在 UITableView 中设置清晰的背景颜色

ios - 使用注释坐标删除注释