0

アプリ デリゲートから同期エンジンを呼び出すアプリがあります。同期エンジンは、Web サービスから Web からデータを取得し、それを解析してコア データベースに配置します。

個々のコントローラは、データを表示するためにコア データベースへのフェッチを呼び出します。

インターネット接続をチェックする機能を追加したい。アプリ デリゲートでインターネット接続を確認する必要があります。同期エンジンの呼び出しが 1 つある場合、そうでない場合は...どうすればいいですか?空のままにしておきますか?

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

2 に答える 2

1

接続を確認するには、いくつかのオプションがあります。

  1. Apple の Reachabilityクラスを使用します。使いやすく、シンプルですが、ARC との互換性はありません。
  2. Apple のクラスに代わるサードパーティ クラスを使用します。 これは良いです。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 に答える