我已经用NSMutableArray对象填充了NSMutableDictionary,如何检索(比方说NSMutableArray中的第二项)并修改字典。
NSMutableArray *tempArr = [[NSMutableArray alloc]init];
NSMutableDictionary *al = [[NSMutableDictionary alloc]init];
for(int i=0; i<[theArray count]; i++) {
id object = [theArray objectAtIndex: i];
id object2 = @"0";
[al setObject:object forKey:@"titles"];
[al setObject:object2 forKey:@"levels"];
[tempArr addObject:al];
}
NSLog(@"fubar %@", [tempArr objectAtIndex:2]);因此,我需要按键访问NSDictionary并更改Key的值。谢谢
发布于 2013-10-21 09:15:34
正如您已经发现的,数组中的对象是使用-objectAtIndex:方法在NSArray上访问的。
类似地,字典中的对象使用-objectForKey:在NSDictionary上进行访问。
要想做您想做的事情,只需像其他调用一样对访问进行堆栈,如下所示:
NSLog(@"fubar %@", [[tempArr objectAtIndex:2] objectForKey:@"titles"]);注意,NSArray上的索引从0开始,而不是从1开始。
要改变价值,同样的原则适用于:
[[tmpArr objectAtIndex:2] setObject:titlesArray forKey:@"titles"];发布于 2013-10-21 09:14:02
如果要替换NSMutableDictionary存储中的NSMutableArray中的值,请使用以下代码:
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:[NSMutableDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",nil],[NSMutableDictionary dictionaryWithObjectsAndKeys:@"value2",@"key2",nil], nil];
//Edit second value
NSMutableDictionary *dict = (NSMutableDictionary *)[array objectAtIndex:1];
[dict setObject:@"value3" forKey:@"key2"];发布于 2013-10-21 09:14:45
NSMutableDictionary *tempDicts = (NSMutableDictionary *)[yourArray objectAtIndex:yourIndex];
// Change your tempDicts
[tempDicts setObject:@"" forKey:@""]; 最后
[yourArray insertOjbect:tempDicts atIndex:yourIndex];https://stackoverflow.com/questions/19490280
复制相似问题