我有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
}
}
答案 0 :(得分:1)
字典没有订单。
您可能希望将字典添加到数组中:
NSMutableArray *persons=[[NSMutableArray alloc]init];
for(int i=0;i<4;i++)
{
[persons addObject:@ { @"name" : candidate[i], @"age" : studenAge[i] }];
}
您可以使用NSArray,NSMutableArray的sort-Methods对此数组进行排序。
答案 1 :(得分: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},...]