2016-08-09 149 views
0

我需要下载位于服务器上的文件。我有这样一个URL:http://www.myhosting.com/1.txt 我需要将它下载到我的iOS设备,或者至少从它读取文本。 我的项目在SWIFT上。 现在我使用下面的代码:iOS Swift下载文件

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() 

但它不起作用。运行此代码后,我的应用程序刚刚关闭。 我试过看过,但也是太失败了..

请问,需要任何帮助! 不知道该怎么办。 还有一个想法 - 我不应该使用任何方面的框架。

+0

你可以试试这个链接它可以帮助你http://stackoverflow.com/questions/28219848/download-file-in-swift?rq=1 –

回答

0

问题在于unwrap响应,而不检查它是否为零。

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()