0

我有一个NSArray名字和年龄。现在我正在尝试创建一个新NSDictionary的项目 0 持有第一个名字和第一个年龄,项目 1 持有相应的第二个名字和第二个年龄NSArray?那可能吗?

在我的viewDidLoad

NSMutableArray *Names = [[NSMutableArray alloc] init];
NSMutableArray *ages = [[NSMutableArray alloc] init];

for(int i = 0; i < 4; i++) {
    [Names addObject:[candidates objectAtIndex:i]];
    [ages addObject:[studenAge objectAtIndex:i]];
}

但是我怎样才能NSDictionary按订单制作呢?

最后结果

我想把它写成NSDictionary.plist 所以它看起来像这样:
Details { item 0 { name:rahul age:25 } item 1 { name:ram age:26 } item 2 { name:aajy age:20 } item 4 { name:raj age:25 } }

4

2 回答 2

1

字典没有顺序。

可能您想将字典添加到数组中:

NSMutableArray *persons=[[NSMutableArray alloc]init];    
for(int i=0;i<4;i++)
{
  [persons addObject:@ { @"name" : candidate[i], @"age" : studenAge[i] }];
}

您可以使用 NSArray、NSMutableArray 的排序方法对这个数组进行排序。

于 2013-05-12T11:59:13.163 回答
1

正如@Amin 所提到的,字典不保持顺序,因为您似乎想要索引访问,所以我建议将其作为最终结构:字典数组:

NSMutableArray *details = [NSMutableArray array];
for (int i=0;  i<4;  i++) {
    [details addObject:@{@"name": canditate[i], @"age":studentAge[i]}];
}

这将为您提供以下结构:

[{name:rahul, age:25}, {name:ram age:26},...]
于 2013-05-12T12:05:09.760 回答