Есть ли безопасный способ сделать пул объектов в Objective-C? - PullRequest
0 голосов
/ 11 января 2019

Я профилировал свое приложение и заметил, что пул объектов будет полезен. Однако я хочу убедиться, что я делаю это безопасным способом, так как не требует, чтобы потребители явно вызывали метод -recycle, когда они закончили. Единственный способ сделать это - использовать семантику сохранения количества. Вот варианты, которые я вижу:

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

Есть ли безопасный способ сделать это?

...