我有2个控制器[TableViewController,SecondViewController]。在我的TableViewController上,我有徽章,可以从SecondViewController更新它们,但是当我从SecondVC更新徽章计数时,它在TableVC上不会刷新,为此,我需要更改屏幕或拉起控制器,然后再进行操作刷新我的徽章视图。

我在SecondVC中更新徽章计数时尝试过此操作:

badgeCount++
TableViewController().tableView.reloadData()


另外,这:

badgeCounter++
dispatch_async(dispatch_get_main_queue(), { () -> Void in
    TableViewController().tableView.reloadData()
})


但在两种情况下都不会更新我的徽章视图。为此,我只需要更改控制器/屏幕或拉起我的TableVC。

我怎样才能解决这个问题?

还有一件有趣的事,当我设置计时器时,它每秒更新一次TableVC,在这种情况下,我的徽章计数器视图更新得很好= /

最佳答案

您可以使用notifications,第二个视图控制器将把更改更改通知表视图控制器。当您收到通知表单的第二个视图控制器时,您可以重新加载它。您还可以使用userInfo在通知中传递数据。

或使用委托将表视图控制器设置为第二个视图控制器的delegate

10-07 19:54
查看更多