基于引用子文件夹创建唯一的数组

时间:2014-10-05 04:00:19

标签: ios objective-c for-loop nsmutablearray nsarray

我试图为包含子文件夹内容的每个引用子文件夹(蓝色文件夹)自动创建一个唯一的数组。我想通过for循环来做到这一点。该过程将是读取引用文件夹,然后为每个子文件夹创建一个具有唯一名称的数组,并将子文件夹的内容添加到其各自的数组中。然后我可以通过调用它的数组来访问子文件夹的内容。

我几乎可以使用提供的代码来完成它,除了它不会为每个子文件夹创建唯一的数组。

MainFolder
   SubFolder1
      SF1_Content1
      SF1_Content2
   SubFolder2
      SF2_Content1
      SF2_Content2
   SubFolder3
      SF3_Content1
      SF3_Content2



//viewDidLoad

dataDir = string path to MainFolder

for (int i = 0; i <= [mainFolderArray count] -1; i++) {

NSString *sectionString = [mainFolderArray objectAtIndex:i];    

NSMutableArray *subFolderArray = [[NSMutableArray alloc] init];

NSLog(@"sectionString = %@", sectionString);

NSArray *subTitleArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[[NSString alloc] initWithFormat:@"%@/%@", dataDir, sectionString] error:nil];

[subFolderArray addObject:subTitleArray];

NSLog(@"Contents of subFolder = %@", subFolderArray);

}

...返回

 sectionString = SubFolder1
 Contents of subFolder = (
    (
    "SF1_Content1",
    "SF1_Content2"       
  )
 )
 sectionString = SubFolder2
 Contents of subFolder = (
    (
    "SF2_Content1",
    "SF2_Content2"
 )
)
sectionString = fiveArray
Contents of subFolder = (
    (
    "SF3_Content1",
    "SF3_Content2"
 )
)

这里,for循环反复生成相同的子文件夹数组。我想在like子文件夹1,子文件夹2等的每个循环中创建一个新数组。请提供建议以获得所需的意图。提前感谢您的时间。

1 个答案:

答案 0 :(得分:1)

在for循环之上,声明一个名为allFolders的NSMutableArray,并在每个循环中执行

[allFolders addObject:subFolderArray];