我有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。