比如说,我想创建一个里面有一些数据的单例。正如在单例中所期望的那样,数据仅动态分配一次。
但我现在想知道何时以及如何发布这些数据。我应该建立特殊的方法来破坏单例吗?更具体地说——何时执行该单例的“dealloc”方法?谁对此负责?
您可以声明显式调用的方法/函数。
最简单的方法是让静态 C++ 类持有它,然后在其析构函数中释放它。如果您有多个单例,那么这种方法不能很好地扩展,因为销毁顺序是实现定义的。
另一种选择(也是更好的设计)是避免使用单例方法,而只是将其用作另一个类中的常规实例,该类在应用程序的持续时间内存在(应用程序委托是一个众所周知的示例)。
至于“何时”,这取决于它的依赖关系以及它的使用方式。尽量减少外部破坏的影响也很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)