在我的项目中,我向用户显示警告以指示“空列表”。
现在,我在AppDelegate>applicationDidBecomeActive
中展示了它。
我这样做是因为我希望警报显示列表是否为空
在应用启动时以及退出后台时(iOS 4.2到5.x)。
编辑:
我在AppDelegate中使用了一个方法,并稍微延迟调用它,我仍然得到了这个通知。
[self performSelector:@selector(checkForNoMessages) withObject:nil afterDelay:1.0];
但是,这会在调试器中发出“wait_fences”通知,我不希望通过此通知向Apple提交。
弹出警报的适当位置在哪里出现:
1)在App启动时
和
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,一切都很好。