我想知道我们是否可以将值设置为字典的字典。
我正在尝试将值设置为字典,但是当我为当前键设置值时,所有以前的键也会设置为此值。
[self.mainDict setValue:self.buttonDict forKey:[NSString stringWithFormat:@"%d",device.deviceID]];
这是我在两次迭代中得到的结果:
第一
main Dict {
2 = {
1 = (
"object1",
"object2"
);
};
}
第二
main Dict {
2 = {
1 = (
"object3",
"object4"
);
};
3 = {
1 = (
"object3",
"object4"
);
};
}
词典应该能够接受任何一种价值吗?我怀疑问题是别的什么
答案 0 :(得分:2)
据我所知,你为不同的键设置了self.buttonDict的值。 它存储了该键的self.buttonDict引用。
更改self.buttonDict值时,将更新指向该对象的所有指针。这就是为什么更改单个对象会改变所有值。
尝试为self.buttonDict创建一个单独的对象,然后使用该对象为Dictionary中的键创建setValue。