Я читал, что неправильно использовать self.ivar = (удобный метод) в методе объекта и init'е, поскольку это портит наследование.
Однако, если вы знаете, что не собираетесьчтобы создать подкласс для вашего объекта, можно ли использовать назначение ключевого слова self?
i.e. self.iVar = [Object objectConvenienceMethod];
Причина, по которой я спрашиваю, заключается в следующем.Я создаю новый объект с его собственным методом init, и в этом методе я выполняю различные начальные назначения.Поскольку я не использую ключевое слово self, я назначаю их непосредственно iVars и поэтому использую методы alloc, а не вспомогательные методы.Т.е.
iVar = [[Object alloc] init];
Или, если я использую удобный метод, я сохраню его.Т.е.
iVar = [[Object convenienceMethod]retain]
Но ... когда я запускаю свою программу с включенным средством утечки памяти, все эти назначения определяются как утечки памяти.
Если бы я мог использовать ключевое слово self плюс вспомогательный метод вместо alloc-init, тогда это позволило бы избежать проблемы.
Если я решу использовать подход alloc-init, где я должен выпустить iVars ??Просто в dealloc?
Спасибо за помощь :)
Майкл