ios - 如何确保IOS 5中使用ARC销毁单例?

标签 ios design-patterns ios5 singleton automatic-ref-counting

比如说,我想创建一个里面有一些数据的单例。正如在单例中所期望的那样,数据仅动态分配一次。

但我现在想知道何时以及如何发布这些数据。我应该建立特殊的方法来破坏单例吗?更具体地说——何时执行该单例的“dealloc”方法?谁对此负责?

最佳答案

您可以声明显式调用的方法/函数。

最简单的方法是让一个静态 C++ 类持有它,然后在其析构函数中释放它。如果您有多个单例,则此方法不能很好地扩展,因为销毁顺序是实现定义的。

另一种选择(也是更好的设计)是避免使用单例方法,而只是将其用作另一个类中的常规实例,该类在应用程序的整个运行期间都存在(应用程序委托(delegate)是一个众所周知的示例)。

至于“何时”,这取决于它的依赖关系以及它的使用方式。尽量减少外部破坏的影响也很好。

关于ios - 如何确保IOS 5中使用ARC销毁单例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10064238/

相关文章:

iphone - 我应该在所有 iOS 项目的其他链接器标志中包含 "-ObjC and -all_load"吗?

c# - 在 .NET 中使用来自另一个程序集的抽象类

iphone - 将 BOOL 值设置为 NSMutableDictionary

c++ - 从类中的对象调用类中函数的最佳方法

ios - MFMailComposeViewController未在iOS 5中填充收件人

ios - UIPinchGestureRecognizer 向内捏 "slower"

iphone - iOS GameCenter 匹配器不工作

ios - UITextVIew secureTextEntry 不工作

iOS 如何检测应用程序何时从进程中删除

java - 将数据保存在内存中,设计方法