与NSURLConnections的NSNotfications

时间:2013-02-04 04:08:46

标签: objective-c xcode

我正在编写我的应用程序,它建立连接以从网站解析时间,然后触发计时器60秒。在那60秒之后,它重新加载连接,并从网站获得最新的时间。

我试图这样做,当应用程序进入后台然后到达前台时,它知道立即开始新的连接。我正在使用NSNotification这样做。

但阅读文档,我不知道应该使用哪一个

UIApplicationDidBecomeActiveNotification

UIApplicationWillEnterForegroundNotification

这些之间是否有任何重大差异,以及应该调用一个而不是另一个的情况。

我唯一能想到的是,使用NSURL连接,我应该使用WillEnterForeground,因此当视图重新开始时它会开始滚动。或者这是错误的思考方式,我应该等到我的视图完全加载后再尝试加载数据。

2 个答案:

答案 0 :(得分:1)

他们是不同的。

UIApplicationWillEnterForegroundNotification将不会在睡眠模式或呼叫时发布,但仅在执行多任务操作时发布。

UIApplicationDidBecomeActiveNotification将在手机从睡眠模式或其他应用程序返回您的应用程序时发布(完成来电或点击低电量警告的OK按钮)。当您的应用从后台返回时,也会调用它。

在您的情况下,我认为使用UIApplicationDidBecomeActiveNotification会更好。

答案 1 :(得分:0)

UIApplicationDidBecomeActiveNotification 应用程序变为活动时发布。 应用程序在接收事件时处于活动状态。可以说活跃的应用程序具有焦点。它在启动后获得焦点,在弹出覆盖窗口或设备锁定时失去焦点,并在设备解锁时获得焦点。

UIApplicationWillEnterForegroundNotification 在应用程序离开后台状态以便成为活动应用程序之前不久发布。 通知的对象是UIApplication对象。没有userInfo字典。

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIApplication_Class/Reference/Reference.html