2017-02-23 2 views
0

J'utilise Reachability pour gérer la connexion Internet. Chaque fois que l'Internet n'est pas connecté, je montre l'alerte de non connecté à Internet.Swift handle connexion Internet lente

Cependant, lorsque la vitesse d'Internet est lente et que l'extraction des données de l'API prend plus de 10 secondes, je dois montrer à l'utilisateur qu'il a une connexion Internet lente.

+0

Je pense que vous pouvez le faire avec demande de délai. Lorsque le délai d'expiration de la requête est atteint, vous pouvez obtenir un code d'erreur spécifique. À ce moment-là, vous pouvez afficher une boîte de dialogue de vitesse Internet lente. –

Répondre

0

Je pense que vous devez augmenter l'intervalle de temps de la requête spécifique pour laquelle vous ne recevez pas de réponse dans le scénario. Si vous utilisez Alamofire, vous pouvez augmenter l'intervalle de temporisation en suivant.

Swift 3

let manager = Alamofire.SessionManager.default 
manager.session.configuration.timeoutIntervalForRequest = 120 

manager.request("yourUrl", method: .post, parameters: ["parameterKey": "value"]) 

dans l'appel d'erreur également de retour, vous recevrez

switch response.result { 
      case .success: 

       // Successfull API Response 

      case .failure(let error): 
       errorHandler(error) 
       print(error.localizedDescription) 

       if let error = error as? NSError { 
        print(error.code) // this will print error code      
       } 
    } 

Laissez-moi savoir si vous avez besoin de plus d'aide.