NSObject
すべてのネットワークチェックを処理するシングルトンクラスを作成します。
NetworkCheckerのように名前を付けます。
NetworkCheckerDelegate
次のようなメソッドを使用して、コールバックのデリゲートを作成します。
@protocol NetworkCheckerDelegate <NSObject>
-(void)networkStatusUpdated:(NSInteger)networkStatus;
@end
@interface NetworkChecker : NSObject
{
id<NetworkCheckerDelegate> networkDelegate;
}
ネットワークチェックを開始するメソッドを追加し、次のようにデリゲートを追加します。
+(void)updateNetworkWithDelegate:(id<NetworkCheckerDelegate>)delegate
{
networkDelegate = delegate;
//Set timer to do Reachability checks
}
-(void)timerIsCompleted
{
//Do Reachability check
if( newNetworkState != oldNetworkState ){
[networkDelegate networkStatusUpdated:newNetworkState];
}
}
次に、ViewController
必要なそれぞれで実行できます(viewDidLoadでこれを実行します)。
[NetworkChecker updateNetworkWithDelegate:self];
そして、ネットワークステータスが変更された後に何かを行うために以下を実装します。
-(void)networkStatusUpdated:(NSInteger)networkStatus