2014-11-01 65 views
4

我是Swift編程語言的新手。我想從一些管道服務器下載電影並想離線播放。我正在使用Alamofire下載部分。我可以列出文件(S)與:如何讀取文件數據在swift中應用文檔目錄?

var file:String? 
if let files = NSFileManager.defaultManager().contentsOfDirectoryAtPath(documentsDirectory, error: &error) as? [String] { 
       for filename in files { 
        // do stuff with filename 
        file = filename 
        println(filename) 
       } 
      } 

但問題是我怎麼可以使用該文件爲我的目的。讓我們假設它的圖像文件,我想在imageview中顯示。

myImageView.image = UIImage(contentsOfFile: file) /* doesn't work*/ 

謝謝你的幫助。

+0

你說的「不工作」是什麼意思?你期望發生什麼?究竟發生了什麼? – Abizern 2014-11-02 17:44:54

回答

6

對於斯威夫特2你必須改變一些東西。 注: stringByAppendingPathComponent沒有更多可用的字符串(只的NSString):

var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString 
var getImagePath = paths.stringByAppendingPathComponent("filename") 
myImageView.image = UIImage(contentsOfFile: getImagePath) 
-3

此刻你只是路過的文件的UIImage(contentsOfFile)的名稱。你需要在整個路徑傳遞,即:

myImageView.image = UIImage(contentsOfFile: "\(documentsDirectory!)/\(filename)") //hopefully does work! 
+0

喲!對文檔目錄名稱進行硬編碼,並使用字符串路徑代替文件URL。 – Abizern 2014-11-02 00:16:30

+0

Hi @Abizern我並不是建議對文檔目錄進行硬編碼 - 它已經存儲在一個變量中。你能否進一步解釋你的建議? – 2014-11-03 00:14:43

6

試試這個代碼:

var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String 
var getImagePath = paths.stringByAppendingPathComponent("filename") 
myImageView.image = UIImage(contentsOfFile: getImagePath) 

我希望這項工作。

+0

如何與MP3文件?請幫幫我 – Alexander 2015-07-20 09:43:51

相關問題