Ich habe eine App, die UITabBar verwendet und es muss Inhalte aus dem Internet herunterladen, so entschied ich mich, die Klasse Erreichbarkeit zu verwenden. Wenn ich es starte, funktioniert die Methode sehr gut, aber wenn ich nicht darauf warte, dass der ganze Job erledigt ist und ich zu einem anderen tabBar Index gehe, dann gehe ich zurück zum ersten, die App hält an und bewegt sich nicht. Hier ist ein Code:Probleme mit der Erreichbarkeit Apple Klasse
- (void)viewWillAppear:(BOOL)animated {
[[self.navigationController navigationBar] setHidden:YES];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkNetworkStatus:) name:kReachabilityChangedNotification object:nil];
[internetReachable startNotifier];
[hostReachable startNotifier];
}
- (void)checkNetworkStatus:(NSNotification *)notice {
BOOL flag;
UIAlertView *alert;
NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
alert = [[UIAlertView alloc] initWithTitle:@"Attenzione!" message:@"Non ci sono connessioni disponibili a internet: impossibile scaricare i dati!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
switch (internetStatus) {
case NotReachable:
self.internetActive = NO;
flag = NO;
break;
case ReachableViaWiFi:
self.internetActive = YES;
flag = YES;
break;
case ReachableViaWWAN:
self.internetActive = YES;
flag = YES;
break;
}
if (flag)
[NSThread detachNewThreadSelector:@selector(loadDataFromInternet) toTarget:self withObject:nil];
else {
[alert show];
[self.spinner stopAnimating];
}
[alert release];
}
Ich werde alles einfügen, was Sie sonst noch brauchen.
verwenden Sie die neueste Erreichbarkeitsklasse von Apple, die für iOS 4.2 aktualisiert wurde? – iPhoneDev
Ja. Für v4.0, aktualisiert am 20-07-2010 – IssamTP