2009-09-06 3 views
0

Поскольку KVC используется для установки розетки на iPhone, есть два метода (которые я знаю), чтобы убедиться, что вы правильно обрабатывали управление памятью.Как вы обрабатываете управление памятью торговых точек в iPhone SDK

В частности, я имею в виду это article, написанное Аароном Хиллегасом.

Мой вопрос в том, какой метод вы используете и каковы ваши рассуждения?

  • освободить все выходы в dealloc и viewDidUnload (Убедитесь, что вы установили их к нулю в viewDidUnload.)
  • сделать ваши выходы слабые ссылки

Лично я склоняюсь к используя слабый как кажется чище.

ответ

1

Я иду со слабыми ссылками. Как вы говорите, его менее загроможденный и делает уже слишком многословный код foorprint немного более управляемым

+0

+1 Я также использую (неатомный, назначаю) для всех своих выходов. Тогда мне не нужно ничего делать. –

+0

Но, как говорится в статье, вы должны убедиться, что представление загружено при использовании этого метода - или вы можете столкнуться с случайными сбоями, обращающимися к IBOutlets после разгрузки вида. –

1

Слабые ссылки проще, да. Яснее? Удерживать свойство так же ясно, и вы можете более четко о том, когда что-то выпущено.

Лично мне нравится прежде всего использовать свойства, чтобы выдать какой-либо атрибут класса во внешний мир - поэтому для IBOutlets будет работать только класс, я просто объявляю их без использования свойств и освобождаю их в dealloc.

В любом случае установлено значение nil. Ссылки IBOutlet в viewDidUnload.

Смежные вопросы