字典作为值 - 用当前值覆盖 NSMutableDictionary 的所有其他先前值
Dictionary as value - Overwriting all other previous values of NSMutableDictionary with the current value
我想知道我们是否可以将值设置为字典的字典。
我正在尝试将值设置为字典,但是当我为当前键设置值时,所有以前的键也都设置为这个值。
[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"
);
};
}
字典应该可以接受任何类型的值吧?我怀疑问题出在其他地方
据我所知,您正在为不同的键设置 self.buttonDict 的值。
为该键存储 self.buttonDict 的引用。
当您更改 self.buttonDict 值时,所有指向该对象的指针都会更新。这就是为什么更改单个对象会更改您的所有值。
尝试为 self.buttonDict 创建一个单独的对象,然后使用该对象为字典中的键设置值。
我想知道我们是否可以将值设置为字典的字典。
我正在尝试将值设置为字典,但是当我为当前键设置值时,所有以前的键也都设置为这个值。
[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"
);
};
}
字典应该可以接受任何类型的值吧?我怀疑问题出在其他地方
据我所知,您正在为不同的键设置 self.buttonDict 的值。 为该键存储 self.buttonDict 的引用。
当您更改 self.buttonDict 值时,所有指向该对象的指针都会更新。这就是为什么更改单个对象会更改您的所有值。
尝试为 self.buttonDict 创建一个单独的对象,然后使用该对象为字典中的键设置值。