Приводят ли следующие два выражения сообщения к увеличению количества записей в том же объекте?
Пример 1:
iVar = [Foo aClassMethodInFoo];
[iVar retain];
Пример 2:
iVar = [[Foo aClassMethodInFoo] retain];
Пример 1 является явным в том смысле, что это экземпляр iVar, чей счет увеличен.Пример 2, кажется, предполагает, что он увеличил счетчик объекта, возвращенного из [Foo aClassMethodInFoo]
.Если это так, то если предположить, что aClassMethodInFoo
является вспомогательным методом, какой объект я «освобождаю», чтобы уравновесить предыдущее «сохранение», чтобы не допустить утечки памяти?