首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过AFNetworking设置特定域的可达性测试?

如何通过AFNetworking设置特定域的可达性测试?
EN

Stack Overflow用户
提问于 2014-08-20 01:58:30
回答 2查看 1.5K关注 0票数 1
代码语言:javascript
复制
AFNetworkReachabilityManager *mgr=[AFNetworkReachabilityManager sharedManager];
[mgr startMonitoring];

[mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
//NSLog(@"Reachability: %@", AFStringFromNetworkReachabilityStatus(status));
    if ([AFNetworkReachabilityManager sharedManager].reachable) {
        NSLog(@" ONLINE");
    }
    else
    {
        NSLog(@"OFFLINE");
    }

}];

这就是我现在是如何通过AFNetworking测试可达性的!如何检查特定域中的可达性?AFNetworking是如何测试可达性的呢?

AFNetworkReachabilityManager管理器:@“www.google.com”;没有工作

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-20 04:41:34

几件事。

首先,您确实应该在开始监视之前配置管理器。在这种情况下,这意味着您应该在调用setReachabilityStatusChangeBlock之前调用startMonitoring

其次,当您使用AFNetworkReachabilityManager创建新的managerForDomain:时,您负责管理对象的生存期。如果在启用ARC的情况下使用上面的代码,mgr将在超出范围后立即被释放,这意味着将没有管理器来监视可达性。一种解决方案是使mgr成为类的实例变量,例如应用程序委托。

票数 4
EN

Stack Overflow用户

发布于 2014-08-20 04:40:30

/**为指定的域创建并返回网络可达管理器。

@param域用于评估网络可达性的域。

@返回初始化的网络可达性管理器,并主动监视指定的域。*/ + (instancetype)managerForDomain:(NSString *)域;

这来自afnetworking源代码,要监视指定的域,只需使用这个类方法为该域创建一个可达性管理器。像这样

代码语言:javascript
复制
AFNetworkReachabilityManager *mgr= [AFNetworkReachabilityManager managerForDomain:@"www.google.com"];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25395630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档