ios – 在循环中向字典添加对象会覆盖以前的值

ios – 在循环中向字典添加对象会覆盖以前的值,第1张

概述我有三个NS Arrays,我想将它们全部组合成一个NSDictionary.问题是当我遍历数组并创建字典时,它会覆盖前一个对象.最后我在字典中只有一个对象.我究竟做错了什么?这是我的代码: NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];for(int i=0; i<[array0 count]; i++) { 我有三个NS Arrays,我想将它们全部组合成一个NSDictionary.问题是当我遍历数组并创建字典时,它会覆盖前一个对象.最后我在字典中只有一个对象.我究竟做错了什么?这是我的代码:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];for(int i=0; i<[array0 count]; i++) {    [dict setobject:[array0 objectAtIndex:i]              forKey:@"one"];    [dict setobject:[array1 objectAtIndex:i] f              orKey:@"two"];    [dict setobject:[array2 objectAtIndex:i]              forKey:@"three"];}

也许这会澄清我的意思……
这是我要去的结果:

{one = array0_obj0,two = array1_obj0,three = array2_obj0},{one = array0_obj1,two = array1_obj1,three = array2_obj1},{one = array0_obj2,two = array1_obj2,three = array2_obj2},etc

谢谢

解决方法 你走了:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];for(int i=0; i<[array0 count]; i++) {    [dict setobject:[array0 objectAtIndex:i] forKey:[Nsstring stringWithFormat:@"arr0_%d",i]];    [dict setobject:[array1 objectAtIndex:i] forKey:[Nsstring stringWithFormat:@"arr1_%d",i]];    [dict setobject:[array2 objectAtIndex:i] forKey:[Nsstring stringWithFormat:@"arr2_%d",i]];}

编辑 – 修改后的问题:

self.array0 = @[@"Array0_0",@"Array0_1",@"Array0_2",@"Array0_3"];self.array1 = @[@"Array1_0",@"Array1_1",@"Array1_2",@"Array1_3"];self.array2 = @[@"Array2_0",@"Array2_1",@"Array2_2",@"Array2_3"];NSMutableArray *finalArray = [[NSMutableArray alloc] init];for (int i=0; i< [_array0 count]; i++) {    NSDictionary *dict = @{@"one":[_array0 objectAtIndex:i],@"two":[_array1 objectAtIndex:i],@"three":[_array2 objectAtIndex:i]};    [finalArray addobject:dict];}NSLog(@"finalArray = %@",[finalArray description]);
总结

以上是内存溢出为你收集整理的ios – 在循环中向字典添加对象会覆盖以前的值全部内容,希望文章能够帮你解决ios – 在循环中向字典添加对象会覆盖以前的值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1008518.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存