2015-09-20 116 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

这里是没有的字符串操作的另一种方式:

​​
相关问题