Глубокая копия словарей дает ошибку анализа в Xcode 4.2

У меня есть следующий метод в категории NSDictionary, чтобы сделать глубокую копию, которая прекрасно работает.

Я только что обновил Xcode 4.1 до 4.2, и функция Analyze выдает два предупреждения анализатора для этого кода, как указано:

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

Эти ошибки в анализаторе Xcode, или я могу внести изменения, чтобы избежать этих предупреждений?

Я пока не использую ARC, хотя мне интересно, есть ли дополнительные изменения, необходимые для поддержки ARC для этого метода.

Ответы на вопрос(2)

Ваш ответ на вопрос