Stu*_*rtM 6 reachability ios afnetworking ios6 afnetworking-2
我正在使用AFNetworking 2.0来监控Reachability.
在我的主要VC的viewDidLoad中,我有以下内容:
// Start monitoring the internet connection
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@"Reachability: %@", AFStringFromNetworkReachabilityStatus(status));
// Check the reachability status and show an alert if the internet connection is not available
switch (status) {
case -1:
// AFNetworkReachabilityStatusUnknown = -1,
NSLog(@"The reachability status is Unknown");
[self reachabilityNotReachableAlert];
case 0:
// AFNetworkReachabilityStatusNotReachable = 0
NSLog(@"The reachability status is not reachable");
[self reachabilityNotReachableAlert];
case 1:
// AFNetworkReachabilityStatusReachableViaWWAN = 1
NSLog(@"The reachability status is reachable via WWAN");
case 2:
// AFNetworkReachabilityStatusReachableViaWiFi = 2
NSLog(@"The reachability status is reachable via WiFi");
break;
default:
break;
}
}];
Run Code Online (Sandbox Code Playgroud)
在这个主VC的顶部,我加载不同的视图控制器/路径/导航控制器,并在使用它们后解除.
问题
我要做的是监控连接,但仅在显示主VC时.例如,如果我在主VC上加载导航控制器并且连接丢失,我仍然会接到调用reachabilityNotReachableAlert.
怎样才能当屏幕上显示的主要VC,而不必运行我只监控stopMonitoring和startMonitoring所有的时间?
我想我可以把方法放进去stopMonitoring,prepareForSegue然后startMonitoring在viewDidAppear,有没有更简单的方法来做到这一点?
不幸的是,没有,没有更简单的方法可以做到这一点。
不过,你提到的计划听起来并没有那么糟糕。您实质上是在要求经理关闭和打开通知,并且需要您告诉它何时执行此操作。
我是这样做的:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[manager startMonitoring];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[manager stopMonitoring];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4378 次 |
| 最近记录: |