РЕДАКТИРОВАТЬ Вы упомянули memory-wise
, так что я думаю, что, возможно, потребуется некоторое прояснение.Каждый объект имеет счет сохранения, который увеличивается на retain
и уменьшается на release
.Когда счет сохранения достигает 0, отправляется сообщение dealloc
.Поэтому, когда вы добавляете дополнительное сохранение к объекту, который больше не используете память, вы просто увеличиваете счетчик и не производите никакого дублирования.
Есть несколько способов получить ссылку на представлениено то, как вы это делаете, это хороший способ.Альтернативой было бы пометить представление и извлечь его из self.view
, используя
UIView *view = [self.view viewWithTag:tagId];
Я предпочитаю способ ivar, например, как вы это сделали (это изменится, когда войдет ARC), но я не склонен кбеспокоиться о фактическом сохранении количества объектов.Я концентрируюсь на балансировке моих сохранений / выпусков.
Поэтому я использую правило, согласно которому, если это локальная переменная, я стараюсь, насколько это возможно, сопоставлять свои сохранения / выпуска в пределах области, в которой она определена. Исключением является ivarкоторые выпущены в dealloc