我将创建一个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