2015-10-06 54 views
2

我有一个使用创建文件夹引用方法导入的图像文件夹,因为我想用URLForResoure调用图像以传输到Watch。 在我传输图像之前,我想在文件夹中对它们进行计数。 我能得到folderURL路径与此代码:通过引用计数在目录中统计文件数

let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] 

    let folderURL = documentsURL.URLByAppendingPathComponent("Folder/SubFolder", isDirectory: true) 

但不能访问文件这个文件夹里面。

我想要访问文件并将它们计数为具有相同的前缀或子文件夹内。

请帮忙。

+0

与您的应用程序捆绑在一起的文件不在“文档”文件夹中。 – rmaddy

回答

0

我使用这行代码解决我的问题:

let URL = NSBundle.mainBundle().URLsForResourcesWithExtension("jpg", subdirectory: "Folder/SubFolder") 
let count = (excerciseImagesForAnimationURL?.count)! 
0

很容易我的朋友

let fileManager =   NSFileManager.defaultManager() 
var error : NSError? 
if let files =  fileManager.contentsOfDirectoryAtPath(folde rURL, error: &error) { 
    let count = files.count 
    // ... 
    } else { 
    println("Could not get contents of  directory: \(error?.localizedDescription)") 
    } 
+0

我试过,但得到一个错误,说:“无法将类型'NSURL'的值转换为'String'类型的预期参数。 –

2

这里的目录内容的计数:

let fileManager = NSFileManager.defaultManager() 
    let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String 
    var dirContents = try? fileManager.contentsOfDirectoryAtPath(documentsPath) 
    let count = dirContents?.count 
+0

由于我导入了创建文件夹引用的文件,我需要使用URL地址调用它们,因为我需要它转移,我不能调用它的路径功能。 –

3

Swift3

let fileManager = FileManager.default 
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String 
let dirContents = try? fileManager.contentsOfDirectory(atPath: documentsPath) 
let count = dirContents?.count 
if count == 0{ 
    disableTabBarHistory()// or whatever... 
}