답변을 검색하는 일부 사용자는 문제를 언급했지만 아무도 해결하지 못했습니다. 네트워크 연결 변경 (예 : 네트워크 손실)이 발생했음을 사용자에게 알리기 만하면됩니다. 아래의 코드는 작동하지만 일반적으로 여러 개의 경고가 표시됩니다. 3 여러 개의 내부 호출이 정확하기 때문에 발생할 수있는 이유를 이해하지만 경고 표시가 하나만있는 것 같지 않습니다. 경고가 이미 표시되고 있는지 (alertshowing) BOOL을 사용하여 감지하려고했지만 여전히 도움이되지 않습니다. 의견을 보내 주셔서 감사합니다.iPhone 다중 경고 네트워크 연결 확인 후 호출
- (void)applicationDidBecomeActive:(UIApplication *)application {
////NSLog(@"DidBecomeActive");
[self performSelector:@selector(getNetworkConnection) withObject:nil afterDelay:5.0];
}
-(void)getNetworkConnection
{
Reachability *r = [Reachability reachabilityWithHostName:@"www.google.com"];
NetworkStatus internetStatus = [r currentReachabilityStatus];
if ((internetStatus != ReachableViaWiFi) && (internetStatus != ReachableViaWWAN))
{
if (!self.alertShowing) {
UIAlertView *myAlert = [[[UIAlertView alloc] initWithTitle:@"No Internet Connection" message:@"This app require an internet connection via WiFi or cellular network to work." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil] autorelease];
self.alertShowing = YES;
[myAlert show];
}
}
}
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
self.alertShowing = NO;
}
내 사과를 호출해야 위에, 나는 그것을 해결하는 방법을 모르겠어요. – lionz
태그 아래의 작은 "편집"버튼을 사용하여 질문을 편집하십시오. – PengOne
나는 그것을 알아 내었고 관측자를 2 곳에 두었고 도달 가능성을 여러 번 부르는 것이 잘못되었다. 이번 주에 너무 오랫동안 코드를 보았습니다. – lionz