2012-09-17 45 views
0

我有时需要检查网络连接,并使用“可达性”来实现此目的。可达性startNotifier - 是否需要电话资源

会更好手动检查使用“可达性”,如互联网连接:

BOOL status = ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable); 

或者使用可达性通知和

//Start listening for reachability notifications on the current run loop 
- (BOOL) startNotifier; 

做通知需要一些手机的recources如电池等,我会如果我不使用“stopNotifier”会出现一些问题?

谢谢

回答

1

这很简单:

  • 使用Singleton,如果你需要检查你是否有时间连接到互联网或没有在某一点
  • 使用通告+通知,如果您需要跟踪在互联网连通性的变化在一定的时间周期
+0

但它说什么,我应该使用...并没有说为什么... – Injectios

+0

我认为这将是明确的,我的答案,但你应该使用单例,而不是在这种情况下通知。 – datwelk

1

IMO - 使用通知是要走的路。可达性课程利用最少的资源保持良好的连接跟踪。如果您绝对必须有连接才能执行某些操作,请使用通知。另一个好处是,你可以使用通知来做其他事情(本地保存数据,通知用户等)。当您不再关心连接时,您会想要使用stopNotifier。

+0

我发现一个'Reachability'实例的'currentReachabilityStatus'是不准确的,除非你叫'-startNotifier',所以我称之为'-startNoti尽管我没有对通知作出回应,但更加费力。很高兴知道这不是资源密集型的。 –

相关问题