Copia profonda dei dizionari dà errore Analizza in Xcode 4.2

Ho il seguente metodo in una categoria NSDictionary, per fare una copia profonda, che funziona bene.

Ho appena aggiornato da Xcode 4.1 a 4.2, e la funzione Analyze fornisce due avvisi di analizzatore per questo codice, come indicato:

- (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 } 

Questi errori sono presenti nell’analizzatore di Xcode o ci sono dei cambiamenti che posso apportare per evitare questi avvertimenti?

Non sto ancora usando ARC, anche se sono interessato se ci sono ulteriori cambiamenti necessari per supportare ARC per questo metodo.