2017-05-03 10 views
0

je code dans mon CV comme ceci:délai d'attente si le serveur ne répond pas

if Reachability.isConnectedToNetwork() == true { 
     print("Internet connection OK") 

     JSONParseFunc() 

    } else { 
     print("Internet connection FAILED") 
     let alert = UIAlertView(title: "you're not conneted to internet ", message: "make sure you're connected to server ", delegate: nil, cancelButtonTitle: "OK") 
     alert.show() 
    } 

où je vérifie l'accessibilité d'Internet, mais je veux vérifier si le serveur envoie des données ou non, j'ai besoin pour définir le délai à cet effet, comment puis-je obtenir un temps dans ce code est ici ma fonction JSON:

func JSONParseFunc(){ 



     let requestURL: NSURL = NSURL(string: "XXXXXXX")! 
     let urlRequest: NSMutableURLRequest = NSMutableURLRequest(url: requestURL as URL) 
     let session = URLSession.shared 
     let task = session.dataTask(with: urlRequest as URLRequest) { 
      (data, response, error) -> Void in 


      let readableJSON = JSON(data: data! , options: JSONSerialization.ReadingOptions.mutableContainers, error: nil) 

      self.nrows = readableJSON.count 

      for i in 0...self.nrows{ 

       if let Name = readableJSON[i]["Name"].string as String! { 
        var ID = readableJSON[i]["Id"].intValue 
        var iDString = String (ID) 

        var desc = readableJSON[i]["Description"].string as String! 


        self.iDArray.append(iDString) 

        self.description1.append(desc!) 
        self.namesArray.append(Name) 


       } 




      } 

      self.tableView.reloadData() 
     } 
     task.resume() 

    self.tableView.reloadData() 


    } 
+0

(NS) URLRequest a une propriété timeoutInterval ... –

+0

où dois-je mettre dans mon code? – UncleJunior

+0

Qu'est-ce que * vous * pensez? - Vous pouvez également envisager d'utiliser '' URLRequest' au lieu de NSMutableURLRequest' à Swift 3. –

Répondre

0

Essayez de mettre celui-ci comme

var session = URLSession() 
override init() { 
     let configuration = URLSessionConfiguration.default 
     configuration.timeoutIntervalForRequest = 30.0 
     configuration.timeoutIntervalForResource = 60.0 
     session = URLSession(configuration: configuration) 

    } 
+0

Pouvez-vous s'il vous plaît me dire quelle erreur êtes-vous –

+0

vous obtenez la réponse du serveur? –

+0

Ok il suffit de cocher readableJSON est vide ou pas si readableJSON est le dictionnaire puis vérifiez comme readableJSON.isEmpty {} sinon vide puis aller de l'avant si elle est vide puis juste revenir –