Что вы думаете об этом коде в Objective-C, который выполняет итерацию через счетчик сохранения и вызывает освобождение на каждой итерации?

Я все еще пытаюсь понять этот фрагмент кода, который я нашел в проекте, над которым я работаю, где парень, создавший его, покинул компанию до того, как я мог спросить.

Это код:

-(void)releaseMySelf{
    for (int i=myRetainCount; i>1; i--) {
        [self release];
    }
    [self autorelease];
}

Насколько я знаю, в модели управления памятью Objective-C первое правило состоит в том, что объект, который выделяет другой объект, также отвечает за его освобождение в будущем. Вот почему я не понимаю смысла этого кода. Есть ли какой-нибудь смысл?

8
задан Cœur 25 March 2019 в 02:53
поделиться