나는 내 웹 사이트에 현재 연결 상태 및 응용 프로그램 시작시 네트워크 상태를 확인합니다내 경고가 두 번 표시되는 이유는 무엇입니까? 내 응용 프로그램에서
나는 웹 사이트에 대한 연결을 설정할 수없는 경우 경고를 표시 할 내updateInterfaceWithReachability
에서
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChanged:)
name:kReachabilityChangedNotification object:nil];
internetReach = [[Reachability reachabilityForInternetConnection] retain];
[internetReach startNotifier];
hostReach = [[Reachability reachabilityWithHostName:@"www.google.de"]
retain];
[hostReach startNotifier];
[self updateInterfaceWithReachability:internetReach];
[self updateInterfaceWithReachability:hostReach];
//....
-(void)reachabilityChanged: (NSNotification*)note{
Reachability* curReach = [note object];
NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
[self updateInterfaceWithReachability: curReach];
}
.
내 문제는 경고가 두 번 표시되는, 그래서 첫 번째는 다가와서 내가 그에게 초를 해고 할 때 표시됩니다
if(curReach == hostReach){
NetworkStatus netStatus = [curReach currentReachabilityStatus];
if(netStatus != NotReachable){
statusLabel.text = @"connected";
[self setStatusColorGreen];
}else{
if(![internetReach connectionRequired]){
statusLabel.text = @"not connected";
compose.enabled = NO;
[self doSMSFAlert];
[self setStatusColorRed];
}
}
}
어떤 아이디어?
편집 : 경고 호스트가 있다는 것을 알았지 만 경고해서는 안됩니다. 그러나 상태가 '연결됨'입니다.
위 코드에서 두 개의 ivars가 나타납니다. 하나는'internetReach와'hostReach'입니다. 나는 네가 둘 다 필요 없다고 말하고있다. –
internetReach 항목을 제거 했으므로 경고가 표시되지만 상태가 연결되어 코드가 두 번 실행되고 처음 실행하면 연결되지 않았다는 경고가 표시되고 두 번째 경고는 연결됨 .... 이상합니다. 어쩌면 이것은 asynchrouns이고 두 번째 실행은 응답이 있으며 첫 번째 실행이 요청되었음을 나타냅니다. –
Reachability 코딩을 완료하지 않았으므로 내 앱에 인터넷이 필요하지 않습니다. Reachability 코드를 검색하고 연결되었을 때 표시되는 경고를 제거해야합니다. –