我有一个类级别的NSMutableDictionary对象,我需要初始化并重新初始化。由于我的项目是ARC,我不确定是否可以使用发布。
这样做的正确方法是什么?
我当前的代码导致崩溃:
myDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys: value1,@"key1",
value2,@"key2", nil];
请注意,这次崩溃是在我加载课程后第二次这样做的时候,而不是第一次。所以问题肯定是我正在重新分配它。
无论如何(崩溃与否),我想要一个无泄漏的方法来处理ARC项目。
答案 0 :(得分:2)
我认为你需要这样做
-(void)ViewDidLoad
{
[super viewDidLoad];
myDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys: value1,@"key1", value2, @"key2", nil];
}
当你再次使用它时,请不要再次分配/ init,而是可以执行以下操作
if([[myDict allKeys]count])
{
[myDict removeAllObjects];
}
并在字典中再次设置值
[myDict setValue:@"Abc" forKey:@"xyz"];
答案 1 :(得分:1)
不确定“重新初始化”是什么意思,但您可以随时删除字典中的所有键和值并将其重新放入。
答案 2 :(得分:0)
只需再次分配+ init,将释放所有先前的值,并将新对象重新分配给同一对象/词典。