Объект A отвечает за освобождение любых ссылок на другие объекты (Объект B, Объект C и т. Д.), Когда он освобожден - это не происходит автоматически.
Это делается в методе -dealloc
на объекте:
- (void)dealloc
{
[propertyB release];
[propertyC release];
[super dealloc];
}
(или если свойства доступны для чтения / записи и помечены как retain
, вы можете заменить [self setPropertyB:nil]
и т. Д.).
Итак, что произойдет, когда все ссылки на объект А исчезнут, они будут освобождены, что, в свою очередь, уменьшит количество ссылок на свойства В и С. Если эти объекты принадлежат только объекту А, они тоже окажутся в результате освобождается.
(Это относится ко всем разработкам для iPhone OS, которые вы отметили. Я предполагаю, что вы не говорите о среде сбора мусора на Mac, которая имеет другие правила и поведение и выполняет некоторые действия автоматически.)