使用目标c中的for循环为数组中的每个对象创建一个数组

时间:2014-10-04 21:36:16

标签: ios objective-c for-loop nsmutablearray

我一直在寻找这个,但未能找到合适的解决方案。是否可以为数组中的每个对象创建一个数组?让我说我有一个数组' fruits'

   NSMutableArray *fruits=[[NSMutableArray alloc]init];
   [fruits addObject:@"apple"];
   [fruits addObject:@"banana"];
   [fruits addObject:@"mango"];

现在我的数组中有三个对象。是否可以为阵列中的每个对象创建一个数组' fruit'。

我可以做点什么吗

   for(int i=0;i<fruits.count;i++){
    NSMutableArray *fruits_%d=[[NSMutableArray alloc]init];
    }

我知道这是一个大错。我有什么方法可以做到吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以改用词典:

NSMutableDictionary *fruitDict=[[NSMutableDictionary alloc]init];
[fruitDict setObject:[[NSMutableArray alloc]init] forKey:@"apple"];
[fruitDict setObject:[[NSMutableArray alloc]init] forKey:@"banana"];
[fruitDict setObject:[[NSMutableArray alloc]init] forKey:@"mango"];

或者语法更清晰:

NSMutableArray *fruits=[[NSMutableArray alloc]init];
[fruits addObject:@"apple"];
[fruits addObject:@"banana"];
[fruits addObject:@"mango"];

NSMutableDictionary *fruitDict = [[NSMutableDictionary alloc] init];

for (NSString *fruit in fruits)
{
    [fruitDict setObject:[[NSMutableArray alloc]init] forKey:fruit];
}

然后当你想要检索数组时:

NSMutableArray *myArray = fruitDict[@"banana"]

上面的代码将生成香蕉项的数组。

答案 1 :(得分:1)

我不知道你到底想要什么,但也许你可以这样做:

NSMutableArray *fruits = [[NSMutableArray alloc] init];
[fruits addObject:@"apple"];
[fruits addObject:@"banana"];
[fruits addObject:@"mango"]; 

NSMutableArray *arrayOfFruits = [[NSMutableArray alloc] initWithCapacity:fruits.count];
for (int i = 0; i < fruits.count; i++) {
    [arrayOfFruits addObject:@[fruits[i]]];
}