在iOS应用程序中有多个单身人士是否可取?

时间:2014-01-22 08:09:06

标签: ios objective-c design-patterns singleton

我已经阅读了几篇讨论专业人士关于单身人士模式的文章。但我想知道:

  

建议在iOS应用中使用多个单身人士吗?

有什么优点和缺点......?

目前我在全局只有一个单身,并且拥有其他必要属性的强引用,包括自定义复合类。但是这个想法听起来对我来说很奇怪,不小心我可以创建一些我不想要的自定义复合类的实例。

2 个答案:

答案 0 :(得分:3)

你应该拥有所需数量的单身人士。看看Cocos2d - 它包含相当数量的CCDirectorCCTextureCacheCCSpriteFrameCache等等。对于单身人士来说没有限制,比如说5.如果您为某种操作(例如访问网络或数据库或其他)提供一个单一的中心类很方便,而且您从不需要这个类的第二个实例,那么请随意让它成为一个单身人士。

答案 1 :(得分:2)

这取决于您的要求。 您可以拥有多个单例类或对象。

单例对象将处于活动状态,直到您的应用程序退出。 对于内存管理问题,如果你有多个单例对象将是非常困难的(当内存警告引发时你无法释放这些单例对象。)