2010-05-08 35 views
6

Tôi có một ứng dụng iPhone tìm kiếm một thư mục, đối chiếu một mảng của tất cả các tệp âm thanh và cho phép chúng được phát lại. Vấn đề là nếu có một thư mục con trong thư mục tôi đang tìm kiếm, nó sẽ chỉ bỏ qua nó/không đi vào nội dung của nó.NSDirectoryEnumerator And Subfolders

Mã của tôi là như sau:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSDirectoryEnumerator *direnum = [[NSFileManager defaultManager] enumeratorAtPath:documentsDirectory]; 

NSString *pname; 

while (pname = [direnum nextObject]) 
{ 
     [musicArray addObject:[pname stringByDeletingPathExtension]]; 
} 

Những gì tôi muốn làm là tiếp tục tìm kiếm các thư mục con của nó, làm thế nào tôi sẽ đi về làm điều đó?

Trả lời

12

Nó tự động thực hiện. From the documentation:

Một điều tra là đệ quy, bao gồm các tệp của tất cả các thư mục con và vượt qua ranh giới thiết bị. Một điều tra không giải quyết các liên kết tượng trưng, ​​hoặc cố gắng đi qua các liên kết tượng trưng trỏ đến các thư mục.