我會創建一個處理所有網絡檢查的單例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
好,但後來當我打電話[自NetworkChecker updateNetworkWithDelegate]我只檢查? 我需要不斷的網絡檢查和通知 – user1359448
沒有,這只是爲當前視圖啓用網絡檢查器。您可以隨時從NetworkChecker中調用networkStatusUpdated:以使用新的網絡狀態更新當前視圖 –
請您詳細說明一下,也許還需要更多代碼? 我不太明白。 :) – user1359448