我正在制作一款游戏。这是一款实时回合制游戏。 用户轮到他时将在游戏面板屏幕中等待,而他的对手轮到他,然后用户将收到一个推送通知。
现在我的问题是应用程序位于前台,我们有 View Controller ,现在我们如何在收到推送通知时刷新游戏板。
我的问题是,我在 appdelegate 中收到回调,但如何刷新从 Root View Controller 窗口推送两步后出现的游戏板 View Controller 。我的 Root View Controller 是导航 Controller 。
导航: 窗口-->导航 Controller -->OnelistViewController-->GameBoardViewController
最佳答案
你有两个选择。第一个是安排您的应用程序委托(delegate)直接引用您的 GameBoardViewController 实例。这是一个典型的问题,您可以使用dependency injection来解决。 .因此,您不必从 OnelistViewController 创建 GameBoardController,而是在应用程序委托(delegate)中创建它(或者理想情况下,甚至在某个除了实例化其他对象之外不执行任何操作的类中)并将该实例提供给您的 OnelistViewController。
另一种选择是使用 NSNotificationCenter
发送通知并在 GameBoardViewController 中监听该通知。如果有多个对象对推送通知感兴趣并且应用程序委托(delegate)不需要了解它们,那么这将是分发这些推送通知的首选方式。
关于ios - 当前台应用程序收到推送通知时刷新当前 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15861170/