0

我有一个应用程序,它从应用程序委托调用同步引擎。同步引擎从 Web 服务中获取来自 Web 的数据,对其进行解析并将其放入核心数据库中。

您的控制器调用对核心数据库的提取以呈现数据。

我想添加检查 Internet 连接的功能。我应该在应用程序委托中检查互联网连接,如果有一个调用同步引擎,否则如果没有......我该怎么办,让它空着?

If (Internet) {
//call sync engine
} else { 
//do nothing
}
4

2 回答 2

1

要检查连接性,有几个选项:

  1. 使用Apple 的可达性类。易于使用,简单但不兼容 ARC。
  2. 使用替代 Apple 的 3rd 方类。 这个不错。ARC兼容。
于 2013-03-06T02:04:04.117 回答
0

你试过可达性吗?它的工作原理是这样的:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkChanged:) name:kReachabilityChangedNotification object:nil];

online = [Reachability reachabilityForInternetConnection];
[online startNotifier];

- (void)networkChanged:(NSNotification *)notification {

  NetworkStatus remoteHostStatus = [online currentReachabilityStatus];

  if(remoteHostStatus == NotReachable) { 
      //use local file
  }
  else if (remoteHostStatus == ReachableViaWiFiNetwork) { 
      //use remote file
  }
  else if (remoteHostStatus == ReachableViaCarrierDataNetwork) { 
      //use remote file
  }
}
于 2013-03-06T02:04:02.930 回答