我正在尝试将我的NSMutableDictionary中的所有键设置为0,但是我收到以下错误:
__NSDictionaryM was mutated while being enumerated
我的代码是:
-(void)marcarTodosRoteiros {
_numeroRoteirosSelecionados = (int)[self.roteirosSelecionados count];
for(id key in self.roteirosSelecionados) {
[self.roteirosSelecionados setObject:@"1" forKey:key];
}
[self.tbFiltros reloadData];
}
答案 0 :(得分:3)
这是枚举:
for(id key in self.roteirosSelecionados)
这是突变:
[self.roteirosSelecionados setObject:@"1" forKey:key];
你做不到。在这种情况下,您应该做的是将所有密钥放入一个单独的数组中,然后为每个密钥设置@"1"
:
-(void)marcarTodosRoteiros {
NSArray *keys = [self.roteirosSelecionados allKeys];
for (NSString *key in keys)
[self.roteirosSelecionados setObject:@"1" forKey:key];
[self.tbFiltros reloadData];
}