2014-11-07 16 views
5

Ich möchte den Inhalt einer Textdatei lesen und anzeigen, die sich an einer URL befindet. Ich schreibe eine Mac App für Yosemite und ich muss Swift verwenden, aber ich steckte darauf.Eine Textdatei mit NSURL in Swift lesen

Hier ist mein Code:

let messageURL = NSURL(string: "http://localhost:8888/text.txt") 
let sharedSession = NSURLSession.sharedSession() 
let downloadTask: NSURLSessionDownloadTask = sharedSession.downloadTaskWithURL(messageURL!, completionHandler: { (location: NSURL!, response: NSURLResponse!, error: NSError!) -> Void in 

     var urlContents = NSString(contentsOfURL: location, encoding: NSUTF8StringEncoding, error: nil) 

     println((urlContents)) 


    }) 

Ich versuchte es mit NSString.stringWithContentsOfURL zu tun, aber es scheint, auf OS X 10.10 veraltet werden.

Die Textdatei auf dem Server hat nur eine Zeile (UTF8).

Irgendwelche Hinweise? Danke

Antwort

2

Haben Sie downloadTask.resume() angerufen?

let messageURL = NSURL(string: "http://localhost:8888/text.txt") 
let sharedSession = NSURLSession.sharedSession() 
let downloadTask: NSURLSessionDownloadTask = sharedSession.downloadTaskWithURL(messageURL!, 
     completionHandler: { 
      (location: NSURL!, response: NSURLResponse!, error: NSError!) -> Void in 

      var urlContents = NSString(contentsOfURL: location, encoding: NSUTF8StringEncoding, error: nil) 

      println(urlContents) 

    }) 
downloadTask.resume() // Call it and you should be able to see the text.txt content 
+0

Ahhh der Lebenslauf() Anruf. Es funktionierte! Danke – Romain

+0

Was ist, wenn die URL auf lokale Datei wie "file: ///Users/adrian/desktop/readme.txt" zeigt? –

+0

@AdrianHoe: Dafür können Sie einfach String (contentsOf: URL) verwenden. In der Tat, Sie können wahrscheinlich verwenden, um Remote-URLs abzurufen, aber ich habe es nicht versucht. – rjcarr