我正在可可中开发一个应用程序。我需要搜索选定文件夹中的所有歌曲。我使用“subpathsAtPath”来获取选定文件夹中的所有组件。如果用户选择像 /User/Music 这样的特定文件夹,这可以正常工作。但是如果用户选择像“/”这样的根目录,那么这个方法就会挂起。有没有办法解决这个问题。提前致谢.....
问问题
649 次
1 回答
2
正如肯特所说,这个方法不太可能挂起,它只需要很长时间才能执行并阻止线程中的进一步执行,直到它返回。
考虑使用enumeratorAtPath:
. 它使用 NSDirectoryEnumerator 并一次为您提供一个目录。这将消除创建一个非常大的数组的需要,这在内存方面是昂贵的。我还让你更容易将你的工作分解成块(NSOperations?),这样你就可以将它推到另一个线程,考虑到完成所需的时间,这可能是一个好主意。NSDirectoryEnumerator 也给你一些对枚举的控制,即你可以调用-skipDescendents
[sic] 来修剪枚举树。
于 2009-08-14T14:28:29.927 回答