说,我想创建一个里面有一些数据的单例。数据只动态分配一次,正如它在单例上所期望的那样。
但我现在想知道何时以及如何发布这些数据。我应该建立特殊的方法来破坏单例吗?更具体地说-何时执行此单例的方法“dealloc”?谁对此负责?
Best Answer-推荐答案 strong>
您可以声明显式调用的方法/函数。
最简单的方法是让一个静态 C++ 类持有它,然后在其析构函数中释放它。如果你有多个单例,那么这种方法不能很好地扩展,因为销毁顺序是实现定义的。
另一种选择(和更好的设计)是避免使用单例方法,而只是将其用作另一个类中的常规实例,该类在您的应用程序期间存在(应用程序委托(delegate)是一个众所周知的示例)。
至于“何时”,它取决于它的依赖关系以及它的使用方式。尽量减少破坏中的外部影响也是很好的。
关于ios - 如何确保使用 ARC 在 IOS 5 中销毁单例?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/10064238/
|