Я профилировал свое приложение и заметил, что пул объектов будет полезен. Однако я хочу убедиться, что я делаю это безопасным способом, так как не требует, чтобы потребители явно вызывали метод -recycle
, когда они закончили. Единственный способ сделать это - использовать семантику сохранения количества. Вот варианты, которые я вижу:
- Переопределите
-dealloc
и сделайте так, чтобы оно само перерабатывалось (а не вызывало [super dealloc]
), как Майк Эш делает . Однако в документации сказано, что супер всегда следует вызывать внутри -dealloc
.
- Переопределить
-retain
и -release
и увеличить / уменьшить мою собственную переменную подсчета. Если оно достигает 0, вместо вызова -dealloc
, сделайте его самому. В документации по этим двум методам сказано, что вы можете сделать это, поэтому мне нравится эта опция. Тем не менее, документация для autorelease
ничего не говорит о переопределении. Нужно ли мне переопределить autorelease
, если я это сделаю?
Есть ли безопасный способ сделать это?