2015-09-20 157 views
0

我試圖獲得一個[String],其中包含我在文檔目錄中創建的文件夾中的所有文件夾的名稱。我目前有一些工作,但它也遍歷這些目錄中的所有內容,並給我文件的名稱。從文檔目錄中的路徑獲取所有文件夾名稱swift

目前,我有這樣的:

let file_manager = NSFileManager.defaultManager() 
let enumerator:NSDirectoryEnumerator? = file_manager.enumeratorAtPath(getDocumentsFilePath("Test")) 
while let element = enumerator?.nextObject() as? String 
{ 
     // Add folder names to the return value 
     return_value.insert(element, atIndex: return_value.count) 
} 

,但正如我所說的,這是給我的文件的名稱在目錄中了。

我發現這個代碼似乎是我正在尋找,但它似乎工作了一個NSParentSearchPathDirectory,但這似乎它會給我在文檔目錄中的所有目錄名稱。想知道如果這是我正在尋找,但如果是這樣我怎麼能轉換我的字符串(路徑到我想要目錄名稱的文件夾)到NSParentSearchPathDirectory。或者,如果我的第一個例子是正確的,我將如何使它只返回目錄而不是文件名。

NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory NSSearchPathDomainMask.AllDomainsMask, true) as? [String] 

回答

3

下面是一個簡單的函數,你可以用它來獲得在特定目錄中的所有內容的路徑。

func contentsOfDirectoryAtPath(path: String) -> [String]? { 
    guard let paths = try? NSFileManager.defaultManager().contentsOfDirectoryAtPath(path) else { return nil} 
    return paths.map { aContent in (path as NSString).stringByAppendingPathComponent(aContent)} 
} 

let searchPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last! 

let allContents = contentsOfDirectoryAtPath(searchPath) 
+0

真棒多數民衆贊成正是我一直在尋找的感謝:) – AngryDuck

0

這裏是沒有的字符串操作的另一種方式:

​​
相關問題