1

J'ai une application sur laquelle je travaille qui est liée à Parse, donc j'utilise un PFQueryTableViewController.Vérifier la connexion Internet avec PFQueryTableViewController dans Swift

Je voudrais simplement savoir comment je peux faire une vérification pour une connexion Internet lorsque je lance l'application.

Actuellement, si j'éteins ma connexion internet alors lancez l'application, je reçois le spinner de chargement pour la table, mais évidemment, rien ne se charge jamais. Finalement, le fileur s'arrête et je suis juste parti avec une table vide.

J'ai lu à propos de l'utilisation Reachability, mais pas vraiment sûr de la façon de mettre cela dans mon application actuelle. Essentiellement, ce que je voudrais, c'est que chaque fois que l'utilisateur démarre l'application, il vérifie la connexion Internet, et s'il y en a, c'est génial! Sinon, il affiche une alerte pour dire No Connection.

Quelqu'un peut-il vous aider s'il vous plaît? J'ai ajouté mon code pour la fonction queryForTable() qui est l'endroit où je pense que cette vérification devrait se produire. Faites-moi savoir si vous avez besoin de voir un autre de mon code. Merci

override func queryForTable() -> PFQuery { 

    let query = PFQuery(className: "Reviews") 

    if indexArray == 0 { 

     query.orderByDescending("createdAt") 

    } else if indexArray == 1 { 

     query.orderByAscending("FilmName") 

    } else if indexArray == 2 { 

     query.orderByDescending("OurRating") 

    } else if indexArray == 3 { 

     query.orderByAscending("OurRating") 

    } else if indexArray == 4 { 

     query.orderByDescending("WantToSeeThisCount") 

    } else if indexArray == 5 { 

     query.orderByAscending("DirectedBy") 

    } else if indexArray == 6 { 

     query.orderByDescending("UpVoteCount") 

    } else if indexArray == 7 { 

     query.orderByDescending("DownVoteCount") 

    } 

    query.whereKey("ToDisplayInApp", equalTo:true) 

    // Add a where clause if there is a search criteria 
    if filmSearchBar.text != "" { 

     query.whereKey("FilmName", containsString: filmSearchBar.text!) 

    } 

    return query 

} 
+0

Cela pourrait vous aider [joignabilité] (http://stackoverflow.com/a/34128493/3409505) –

+0

Je recommande de tester si Internet est accessible chaque fois que vous voulez faire une demande de réseau, pas seulement lorsque l'utilisateur ouvre l'application, et l'accessibilité est la solution la plus simple, il ne peut être plus simple .. .. –

Répondre

0
var reachability: Reachability! 

func checkNetworkReachability() { 
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(functionToHandleWhenConnectionChanges()), name:kReachabilityChangedNotification, object: nil) 

    if self.reachability == nil { 
     self.reachability = Reachability.reachabilityForInternetConnection() 
     self.reachability.startNotifier() 
    } 
} 

func functionToHandleWhenConnectionChanges() { 
    // self.reachability.isReachable() returns a boolean. If it's yes, then you are connected to internet, otherwise not connected. 
} 

Avant de faire tout cela, ajouter des fichiers Reachability.h et Reachability.m de https://github.com/tonymillion/Reachability

Hope this helps :)