1

application:didReceiveLocalNotification:在收到通知后,我将用户带到某个视图控制器*时,是否有首选方法?

例如,如果我有视图控制器 A、B、C 和 D,通知进来,应用程序正在后台运行,用户在屏幕 A、B 或 C,我需要将它们带到屏幕 D ,并在完成后返回上一个屏幕。

一种方法似乎是制作 D 的 A、B、C 代表,将它们与情节提要中的 segues 挂钩,并在 application:didReceiveLocalNotification: 中执行 performSegueWithIdentifier:,但如果我有 ex. 60个屏幕。

有没有更好/最好的方法从 AppDelegate 将视图控制器推送到屏幕上,并在用户完成后返回到用户之前所在的位置?

*请注意,如果用户当前在应用程序内,则不会发生这种情况,以免造成干扰。

4

1 回答 1

0

通常这种行为最好通过模态视图控制器来实现。

但是,我不会从 appDelegate 弹出模式视图控制器,而是创建同一类的 A、B 和 C 子类。此类将具有通过显示模态视图控制器(带有 D)来处理通知的代码,当该视图控制器被关闭时,它将显示通知到来时您所在的视图控制器。

虽然我不明白你的最后一句话。如果当用户在应用程序内时不会发生这种情况,为什么还要让他回到上一个屏幕?

于 2013-01-18T15:51:48.087 回答