我使用可访问性类来检查我的应用程序中的网络连接...
Reachability *reach = [Reachability reachabilityForInternetConnection];
NetworkStatus netStatus = [reach currentReachabilityStatus];
if (netStatus==NotReachable)
{
NSLog(@"NR");
}
我需要找到网络状态发生变化的时间(即当网络状态从可达到变为无法到达时,反之亦然)。
有没有代表发现这个想法,有什么建议吗?
答案 0 :(得分:1)
我建议使用Apple的Reachability类。 Here是Apple的示例App。
并查看此链接。
http://www.switchonthecode.com/tutorials/iphone-snippet-detecting-network-status
答案 1 :(得分:0)
使用此标记kReachabilityChangedNotification
查找网络状态的变化并将其传递给NSNotificationCenter
以下是代码:
NSString *host = @"https://www.apple.com"; // Put your host here
// Set up host reach property
hostReach = [Reachability reachabilityWithHostname:host];
// Enable the status notifications
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
[hostReach startNotifier];
- (void) reachabilityChanged: (NSNotification* )note
{
Reachability *reachability = [note object];
NSParameterAssert([reachability isKindOfClass:[Reachability class]]);
if (reachability == hostReach) {
Reachability *reach = [Reachability reachabilityForInternetConnection];
NetworkStatus netStatus = [reach currentReachabilityStatus];
if (netStatus==NotReachable)
{
NSLog(@"notreacheable");
}
else {
NSLog(@"reacheable");
[[NSNotificationCenter defaultCenter]postNotificationName:@"startUpdatingTable" object:nil];
}
}
}
答案 2 :(得分:-1)
使用可达性“类
在app delegate中添加flooding方法,这样你就可以在项目
中使用这个方法#import "Reachability.h"
-(BOOL)isHostAvailable
{
//return NO; // force for offline testing
Reachability *hostReach = [Reachability reachabilityForInternetConnection];
NetworkStatus netStatus = [hostReach currentReachabilityStatus];
return !(netStatus == NotReachable);
}