有没有一种安全的方法可以在Objective-C中建立对象池?

时间:2019-01-10 21:46:37

标签: objective-c pool reference-counting

我已经分析了我的应用程序,并观察到对象池将是有益的。但是,我想确保以一种安全的方式做到这一点,即不需要使用者在完成后显式调用-recycle方法。唯一的方法是使用保留计数语义。这是我看到的选项:

  • Mike Ash does的身份覆盖-dealloc并使其自身回收(而不调用[super dealloc])。但是,文档说,应始终在-dealloc内部调用super。
  • 覆盖-retain-release,并使其递增/递减我自己的保留计数变量。如果它达到0,则不对其进行回收,而无需调用-dealloc。这两种方法的文档说您可以执行此操作,因此我喜欢此选项。但是,autorelease的文档没有提及有关覆盖它的任何内容。如果这样做,是否还需要覆盖autorelease

有安全的方法吗?

0 个答案:

没有答案