2014-09-27 28 views
3

只是試圖讓的文件for..in循環在本地應用程序文件夾獲取的文件列表中的路徑迅速

let filemanager:NSFileManager = NSFileManager() 
let files = filemanager.enumeratorAtPath(NSHomeDirectory()) 
for filename in files! 
{ 
    println(filename) 
} 

但它說類型「NSDirectoryEnumerator」不符合協議序列類型。

回答

10

我認爲這可能是通過實現對實現SequenceType協議的NSFileManager的擴展。但是,你可以在你的代碼很容易地轉換到使用while循環:

let filemanager:FileManager = FileManager() 
let files = filemanager.enumerator(atPath: NSHomeDirectory()) 
while let file = files?.nextObject() { 
    print(file) 
} 
+0

關於執行序列類型做到這一點使用您的for循環,這裏有一個很好的例子:http://natashatherobot.com/swift-conform-to -sequence-protocol/ – Clafou 2014-09-27 08:42:46

+0

如何從現有文件夾中獲取文件(即下載) – 2017-06-09 11:46:24

+0

從gmail導入(共享擴展名)到應用程序的哪裏存儲文件(.zip)? – 2017-09-05 09:19:23