2009-08-14 116 views
1

我正在開發一個應用程序在cocoa.I需要搜索selectyed文件夾中的所有歌曲。我使用 「subpathsAtPath」來獲取所選文件夾中的所有組件。如果用戶選擇特定的文件夾如/User/Music.But,這工作正常,如果用戶選擇「/」等根目錄,則此方法掛起。是否有任何方法可以解決此問題。 在此先感謝.....查找根目錄中的所有文件夾

+0

它掛起來還是需要很長時間? – kent 2009-08-14 13:45:10

回答

2

正如肯特所說,這種方法不太可能掛起,只需要很長時間才能執行並阻塞線程中的進一步執行,直到它返回。

考慮使用enumeratorAtPath:。它使用NSDirectoryEnumerator並一次給你一個目錄。這將消除創建非常大的陣列的需要,這是昂貴的記憶方式。我還可以更容易地把你的工作分解成塊(NSOperations?),這樣你就可以把它推到另一個線程,考慮到它將花費多少時間完成,這可能是一個好主意。 NSDirectoryEnumerator也爲您提供了對枚舉的一些控制,即您可以調用-skipDescendents [原文如此]來修剪枚舉樹。

相關問題