cópia profunda dos dicionários fornece um erro de análise no Xcode 4
Eu tenho o seguinte método em uma categoria NSDictionary, para fazer uma cópia em profundidade, que funciona be
Acabei de atualizar do Xcode 4.1 para 4.2, e a função Analyze fornece dois avisos para o código, conforme indicado:
- (id)deepCopy;
{
id dict = [[NSMutableDictionary alloc] init];
id copy;
for (id key in self)
{
id object = [self objectForKey:key];
if ([object respondsToSelector:@selector(deepCopy)])
copy = [object deepCopy];
else
copy = [object copy];
[dict setObject:copy forKey:key];
// Both -deepCopy and -copy retain the object, and so does -setObject:forKey:, so need to -release:
[copy release]; // Xcode 4.2's Analyze says this is an incorrect decrement of the reference count?!
}
return dict; // Xcode 4.2's Analyze says this is a potential leak
}
Existem esses erros no analisador do Xcode ou existem alterações que posso fazer para evitar esses aviso
Ainda não estou usando o ARC, embora esteja interessado em saber se há alterações adicionais necessárias para dar suporte ao ARC para esse métod