我正在播放我的播放器应用中的“文件夹功能”,但我对文件递归感到困惑。我想递归文件文件然后保存文件夹和文件使用字典和数组。 这是我的代码:
- (void)fileRecursive:(NSString *)path{
BOOL isDir;
[_fm fileExistsAtPath:path isDirectory:&isDir];
if (isDir) {
//Folder
NSString *folderName = [path lastPathComponent];
[self.folderArray addObject:folderName];
NSLog(@"Folder %@",folderName);
NSArray *files = [_fm contentsOfDirectoryAtPath:path error:nil];
for (NSString *file in files) {
[self fileRecursive:[path stringByAppendingPathComponent:file]];
}
}else{
//File
NSString *fileName = path;
[self.fileArray addObject:fileName];
NSLog(@"File %@",fileName);
}
}
dic{
"Folder1":[file1,file2];
"Folder2":[file3,file4];
"RootFolder":[file0];
}
我需要添加哪些代码?感谢。
答案 0 :(得分:-1)
我最近几天解决了这个问题,使用递归是很奇怪的。所以只需遍历目录,然后记录文件和文件夹,如果打开文件夹,则再次执行此操作。