何时显示启动警报并退出后台?

时间:2012-02-06 15:31:13

标签: iphone objective-c xcode

在我的项目中,我向用户显示警告以指示“空列表”。 现在,我在AppDelegate>applicationDidBecomeActive中展示了它。 我这样做是因为我希望警报显示列表是否为空 在应用启动时以及退出后台时(iOS 4.2到5.x)。

编辑:

我在AppDelegate中使用了一个方法,并稍微延迟调用它,我仍然得到了这个通知。 [self performSelector:@selector(checkForNoMessages) withObject:nil afterDelay:1.0];

但是,这会在调试器中发出“wait_fences”通知,我不希望通过此通知向Apple提交。

弹出警报的适当位置在哪里出现:

1)在App启动时

2)当应用程序退出后台时?

我是否需要在多个地方提供警报?

2 个答案:

答案 0 :(得分:1)

我建议您在AppDelegate中编写一个方法,或者在根视图控制器中编写一个显示该消息的方法。也许有一些论点,所以你可以重复使用它,但这取决于你。

如果您正在关注MVC架构,请向您的模型询问有关现有条目的信息,并在必要时触发警报消息。但也将此行为封装在控制器中。

application:didFinishLaunchingWithOptions:和applicationDidBecomeActive:是您要将此任务委派给控制器的地方。

有关iOS Multitasking的更多信息:https://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

编辑: 不要忘记你必须从主线程中调用方法。 并首先完成所有启动工作。

答案 1 :(得分:0)

好的 - 问题不是我调用警报的地方,而是因为它在一个方法中。一旦我将代码从方法移动到applicationDidBecomeActive,一切都很好。