单身对象的含义是什么?它的用途是什么?

时间:2011-09-26 05:16:00

标签: iphone objective-c cocos2d-iphone

任何人都可以向我解释单身对象是什么吗?在许多教程中,我发现了类似“创建一个sigleton对象”的东西。现在我正在使用cocos2d进行iphone游戏开发。我在raywenderlich多人游戏教程中读到了“创建一个单独的对象以将所有Game Center代码保存在一个地方”,他还说:

+ (GCHelper *)sharedInstance;

这个静态方法用于检索此类的单例实例。但我不知道单身是什么,或者如何使用它。

3 个答案:

答案 0 :(得分:5)

Singleton对象是一个对象,对于该对象,给定类只有一个实例。当您想要保证在系统中的客户端之间共享类的单个实例时,将使用Singleton模式。

查看C2 wiki page以获取更多信息。

以下是一些帖子,其中包含在objective-c中使用单例的示例:

答案 1 :(得分:0)

单例是一个类的实例,它是唯一的类。您通常有一个类方法,它返回指向此单个实例的指针,如果它还不存在则创建它。

单身人士的一些例子是: NSFileManager defaultManager NSUserDefaults standardUserdefaults NSCharacterSet whitespaceCharacterset

单身人士是一种普遍接受的方法,可以将模型数据和代码保存在一个可以从其他代码中的任何地方访问的中心位置。您需要做的就是添加标头并通过类方法获取单例指针。

请参阅此处,了解单例与全局变量的比较:http://www.cocoanetics.com/2009/05/the-death-of-global-variables/

答案 2 :(得分:0)

Singleton对象意味着整个应用程序中只有一个对象。如果您在单例类中使用了任何属性,并且使用此类的对象(也称为singleton对象)访问此属性,则在整个应用程序中将获得相同的值,直到您手动更改它为止。此概念通常用于维护应用程序所需的某些修订值,如果您的应用程序具有登录过程,则可能需要在您的应用程序中携带登录用户名,以便在任何应用点使用。