2015-10-06 57 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... 
}