iOS/iPhone SDK:是否存在网络丢失/恢复事件?

iOS/iPhone SDK:是否存在网络丢失/恢复事件?,ios,events,networking,sdk,Ios,Events,Networking,Sdk,我想做一些治疗时,我松散的连接,当连接回来。 有什么事件需要处理吗 提前谢谢你 E.您应该使用在中使用的良好实践。 他们使用的是他们所说的一个下降代替类开发 我希望它会有所帮助一种标准方法是使用可达性来测试网络可用性。可以下载。在项目中,您只需要Reachability.h和Reachability.m 我个人倾向于做以下事情- 1添加可达性文件 2为您希望在项目中记住/公开的每个网络测试创建BOOL属性-下面我有一个针对谷歌的测试和一个针对谷歌地图的测试 3在appDidFinishLoadi

我想做一些治疗时,我松散的连接,当连接回来。 有什么事件需要处理吗

提前谢谢你


E.

您应该使用在中使用的良好实践。 他们使用的是他们所说的一个下降代替类开发
我希望它会有所帮助

一种标准方法是使用可达性来测试网络可用性。可以下载。在项目中,您只需要Reachability.h和Reachability.m

我个人倾向于做以下事情-

1添加可达性文件

2为您希望在项目中记住/公开的每个网络测试创建BOOL属性-下面我有一个针对谷歌的测试和一个针对谷歌地图的测试

3在appDidFinishLoading方法中调用[self-AssessinetNetworkReachability]

#pragma mark -
#pragma mark Reachability

-(void)assertainNetworkReachability {
    [self performSelectorInBackground:@selector(backgroundReachabilityTests)  withObject:nil];
}

-(void)backgroundReachabilityTests {

    self.isInternetReachable = [self internetReachable];
    self.isMapsReachable = [self mapsReachable];

    self.connectivityTimer = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self     selector:@selector(backgroundReachabilityTests) userInfo:nil repeats:NO];
}

-(BOOL)hostReachable:(NSString*)host {
    Reachability *r = [Reachability reachabilityWithHostName:host];
    NetworkStatus internetStatus = [r currentReachabilityStatus];
    if(internetStatus == NotReachable) {
        [self throwNetworkDiagnosisAlert];
        return NO;
    }
    return YES;
}

-(BOOL)internetReachable {
    return [self hostReachable:@"www.google.co.uk"];
}

-(BOOL)mapsReachable {
    return [self hostReachable:@"maps.google.com"];
}

-(BOOL)isInternetGoodYetMapsUnreachable {
    return (self.isInternetReachable && !self.isMapsReachable);
}

-(void)throwNetworkDiagnosisAlert {
    NSString* title = @"Connectivity Problem";
    NSString* message = @"You are not connected to the internet.";

    if (self.isInternetGoodYetMapsUnreachable) {
        message = @"Unable to connect to the Google Maps server.";
    }

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil];
    [alert show];
    [alert release];
}
你可以帮助我