我可以知道NSDictionary
或NSMutableDictionary
是否可以为不同的对象添加多个相同的密钥?这是因为开发人员编写的API正在接受一个数组。
e.g:
NSArray *ids = @[@"xxx", @"yyy", @"zzz"];
NSMutableDictionary *args = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"someobject", @"somekey"];
我已经定义了一个由用户选择的args和一组id,现在我将循环该数组。
for( NSString *getId in ids ){
[args setObject:getId forKey:@"ids[]"];
}
结束了,结果出来了
"somekey" = "someobject", "ids[]" = "zzz";
我可以获得如下结果吗?
"somekey" = "someobject", "ids[]" = "xxx", "ids[]" = "yyy", "ids[]" = "zzz";
请指教,谢谢!
答案 0 :(得分:4)
是的可能
NSArray *arr = [[NSArray alloc]initWithObjects:@"xxx",@"yyy",@"zzz", nil];
NSMutableDictionary *dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Someobject", @"Somekey", nil];
for (int i = 0; i<[arr count]; i++) {
[dic setValue:[arr objectAtIndex:i] forKey:[NSString stringWithFormat:@"id[%d]", i]];
}
NSLog(@"dic %@",dic);
使用此代码确定它会对您有所帮助。
答案 1 :(得分:1)
不,钥匙是独一无二的。但是您可以在NSMutableArray
中添加NSDictionary
,并存储key => array(x,y,...)
答案 2 :(得分:0)
而不是你可以像这样创建词典。
YourDictionary = {
"somekey" = "someobject",
"ids[]" = (
"xxx",
"yyy",
"zzz"
)
}
将ids[]
视为数组
希望这能解决您的问题
答案 3 :(得分:0)
不,这不是字典的使用方式。正如peko所说,只需将你的数组放入dict:
[args setObject:ids forKey:@"ids"];