2017-07-23 228 views
0

我的應用程序具有這種用於聲音文件結構在它:Swift:獲取路徑中的子路徑和子路徑中的文件?

enter image description here

A「聲音」與一羣編號的子文件夾的文件夾,如「1」,「2」,「3」等等。

問題是,我不知道如何找到文件夾「1」,更不用說文件了。我試過這個:

for path in Bundle.main.paths(forResourcesOfType: "wav", inDirectory: "Sound") { 
    print(path) 
} 

這個打印「Test.wav」或「1」都沒有。

任何幫助將是太棒了!

編輯:如果我設置路徑爲「」,然後它打印文件夾「1」。但是,它也會打印所有的wav文件。應該是什麼類型的文件夾?

回答

1

我會得到Sound文件夾的路徑,然後使用FileManager來獲取Sound文件夾的內容。

if let soundURL = Bundle.main.path(forResource: "Sound", withExtension: nil) { 
    let urls = FileManager.default.contentsOfDirectory(at: soundURL, includingPropertiesForKeys: nil, options: [ .skipsHiddenFiles ]) { 
     // iterate the list of URLs as needed 
    } 
} 

我把它作爲一個練習來處理異常處理。

+0

對不起,這個愚蠢的問題,但什麼是FileManager?我從來沒有見過它。與Bundle相比有什麼不同? – MysteryPancake

+0

請參閱參考文檔。 – rmaddy

+0

我忘了提及,在「聲音」文件夾中有一些其他的wav文件,而不僅僅是目錄。所以很抱歉再次讓你煩惱,但是有沒有辦法只將目錄中的子目錄,而不是文件? – MysteryPancake