Domanda

Sto sviluppando un'applicazione per iPad, e sto cercando di capire il modo migliore per decidere se un utente può collegarsi a Internet. Se l'utente non ha la connettività, io caricare i dati memorizzati nella cache, altrimenti sarò caricare nuovi dati. Sto cercando di utilizzare la classe raggiungibilità di Apple per questo, e ho voluto vedere se sto facendo questo in modo corretto. In applicationDidFinishLaunchingWithOptions, sto facendo questo:

[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];

Reachability hostReach = [[Reachability reachabilityWithHostName: @"www.apple.com"] retain];
[hostReach startNotifer];

Poi la mia reachabilityChanged: Sembra che questo:

- (void)reachabilityChanged:(NSNotification* )note {
    Reachability *curReach = [note object];
    self.internetConnectionStatus = [curReach currentReachabilityStatus];

    if (internetConnectionStatus == NotReachable) {
        [viewController getDataOffline];
    } else {
        if (![[NSUserDefaults standardUserDefaults] objectForKey:kFIRST_LAUNCH]) [viewController getCurrentLocation];
        else [viewController getData];
    }
}

In questo momento, questo è perfettamente funzionante per il WiFi iPad. Voglio solo fare in modo che questo lavoro per 3G iPads. La prego di farmi sapere se sto facendo questo in modo corretto o no?

È stato utile?

Soluzione

Sì, la classe raggiungibilità può utilizzare sia WiFi e 3G per determinare se un host remoto è raggiungibile.

Inoltre, come nota a margine che si può prendere in considerazione sempre la visualizzazione dei dati memorizzati nella cache sul lancio della vostra applicazione, quindi in modo asincrono l'aggiornamento ai nuovi dati in background. A seconda del contesto dell'applicazione questo potrebbe creare una grande esperienza utente migliore dal momento che alcuni dati siano sempre disponibili.

Se siete interessati a saperne di più su questo c'è un fantastico capitolo intitolato "Fake It‘Til You Make It: Trucchi e consigli per il miglioramento dell'interfaccia di risposte". Trovato nel libro 'iPhone Advanced Projects'

Altri suggerimenti

Sì, la classe raggiungibilità vi dirà se si può raggiungere utilizzando qualsiasi metodo di rete.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top