2016-08-09 24 views
0

Ich muss eine Datei herunterladen, die auf dem Server befindet. Ich habe eine URL wie: http://www.myhosting.com/1.txt Ich muss es auf mein iOS-Gerät herunterladen oder zumindest Text daraus lesen. Mein Projekt ist auf SWIFT. Nun verwende ich einen Code unten:iOS Swift Herunterladen von Dateien

let requestURL: NSURL = NSURL(string: "http://www.myhosting.com/1.txt")! 
     let urlRequest: NSMutableURLRequest = NSMutableURLRequest(URL: requestURL) 
     let session = NSURLSession.sharedSession() 
     let task = session.dataTaskWithRequest(urlRequest) { 
      (data, response, error) -> Void in 

      let httpResponse = response as! NSHTTPURLResponse 
      let statusCode = httpResponse.statusCode 

      if (statusCode == 200) { 
       self.dtlbl.text = "Everyone is fine, file downloaded successfully." 

      } 
     } 

     task.resume() 

Aber es funktioniert nicht. Meine App wird gerade geschlossen, nachdem dieser Code ausgeführt wurde. Ich habe versucht, es zu lesen, aber es war auch unglücklich ..

Bitte, brauchen Sie Hilfe! Ich weiß nicht, was ich tun soll. Noch ein Gedanke - ich sollte keine Seitenrahmen verwenden.

+0

können Sie versuchen, diesen Link kann es Ihnen helfen http://stackoverflow.com/questions/28219848/download-file-in-swift?rq=1 –

Antwort

0

Das Problem ist unwrap Antwort ohne zu prüfen, ob es nicht ist oder nicht.

let requestURL: NSURL = NSURL(string: "http://www.myhosting.com/1.txt")! 
let urlRequest: NSMutableURLRequest = NSMutableURLRequest(URL: requestURL) 
let session = NSURLSession.sharedSession() 
let task = session.dataTaskWithRequest(urlRequest) { 
    (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in 
    if let httpResponse = response as? NSHTTPURLResponse { 
    let statusCode = httpResponse.statusCode 
    if (statusCode == 200) { 
     self.dtlbl.text = "Everyone is fine, file downloaded successfully." 
    } 
    } 
} 
task.resume()