Ios AFNetworking正在检查网络是否可用

Ios AFNetworking正在检查网络是否可用,ios,objective-c,afnetworking,Ios,Objective C,Afnetworking,我正在用AFN检查网络 __block BOOL connect; AFNetworkReachabilityManager*manager = [AFNetworkReachabilityManager sharedManager]; [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { switch (status) { case -1:

我正在用AFN检查网络

    __block BOOL connect;

    AFNetworkReachabilityManager*manager = [AFNetworkReachabilityManager sharedManager];
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
    switch (status) {
        case -1:
            connect=YES;
            break;
        case 0:
            connect=NO;
            break;
        case 1:
            connect=YES;
            break;
        case 2:
            connect=YES;
            break;
        default:
            break;
    }
}];


[manager startMonitoring];
我想在另一个文件上获得布尔连接

if (![ValueUtils isConnectNet])
但是它没有马上得到bool我怎么能先得到bool然后再做“如果其他”的事情呢



现在我使用可达性,如果您在启动监控后立即使用AFN的isReachable,它无法立即获取当前网络状态。

您只需如下检查:

if ([[AFNetworkReachabilityManager sharedManager] isReachable]) 
{
    NSLog(@"IS REACHABILE");
} 
else 
{
   NSLog(@"NOT REACHABLE");
}  

没必要为了这个拿布尔。网络可达性管理器给出网络是否可达的响应。

您只需如下检查:

if ([[AFNetworkReachabilityManager sharedManager] isReachable]) 
{
    NSLog(@"IS REACHABILE");
} 
else 
{
   NSLog(@"NOT REACHABLE");
}  

没必要为了这个拿布尔。网络可达性管理器给出网络是否可达的响应。

您可以通过以下方式检查可达性:

AFNetworkReachabilityManager *reachability = [AFNetworkReachabilityManager sharedManager];
    [reachability setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        switch (status) {
            case AFNetworkReachabilityStatusReachableViaWWAN:
                NSLog(@"WWN");
                break;
             case AFNetworkReachabilityStatusReachableViaWiFi:
                NSLog(@"WiFi");
                break;
             case AFNetworkReachabilityStatusUnknown:
                NSLog(@"Unknown");
                break;
                case AFNetworkReachabilityStatusNotReachable:
                NSLog(@"Not Reachable");
                break;
            default:
                break;
        }
    }];
或者您可以使用:

+(BOOL)IsInternet
{
    Reachability *networkReachability = [Reachability reachabilityForInternetConnection];
    NetworkStatus networkStatus = [networkReachability currentReachabilityStatus];
    if (networkStatus == NotReachable)
    {
        return NO;
    }
    else
    {
        return YES;
    }
}

您可以通过以下方式检查可达性:

AFNetworkReachabilityManager *reachability = [AFNetworkReachabilityManager sharedManager];
    [reachability setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        switch (status) {
            case AFNetworkReachabilityStatusReachableViaWWAN:
                NSLog(@"WWN");
                break;
             case AFNetworkReachabilityStatusReachableViaWiFi:
                NSLog(@"WiFi");
                break;
             case AFNetworkReachabilityStatusUnknown:
                NSLog(@"Unknown");
                break;
                case AFNetworkReachabilityStatusNotReachable:
                NSLog(@"Not Reachable");
                break;
            default:
                break;
        }
    }];
或者您可以使用:

+(BOOL)IsInternet
{
    Reachability *networkReachability = [Reachability reachabilityForInternetConnection];
    NetworkStatus networkStatus = [networkReachability currentReachabilityStatus];
    if (networkStatus == NotReachable)
    {
        return NO;
    }
    else
    {
        return YES;
    }
}

看这一个可能有助于你使用可达性类,它们非常适合我现在使用可达性,如果你在开始监视后立即使用AFN的isRecable,它无法立即获得当前网络状态。看这一个可能有助于你使用可达性类,它们非常适合我现在使用可达性,如果您在启动监控后立即使用AFN的isRecable,则无法立即获取当前网络状态。如果您发现此答案有帮助,请接受。这就是我们的动机。始终显示无法访问,请检查此项。如果您发现此答案有帮助,请接受它。这就是我们的动机。总是显示不可访问,检查第一个是AFN,第二个是可访问。他们我已经尝试了这些代码中的大多数,但当我连接到没有可用互联网的wifi时,我仍然在线获得结果。我可以检查一下网络是否可用吗?我知道可达性类在那个里,但我正试图探索更多的网络。如果没有可达性,我还能做ping测试吗?第一个是AFN,第二个是可达性。他们中的大多数代码我都试过,但当我连接到没有互联网可用的wifi时,我仍然在线获得结果。我可以检查一下网络是否可用吗?我知道可达性类在那个里,但我正试图探索更多的网络。在没有可达性的情况下,我还能做ping测试吗?