Singleton类在Objective-C中有什么用?

我知道Singleton类是一个只能创build一个对象的类。

我的问题是:

1. Objective-C中Singleton类的用法是什么

2. 如何创build和使用创build的Singleton类?

当你想要把东西暴露给整个项目时,你通常使用一个单例,或者你想要一个单一的入口点。 想象一下,你有一个照片应用程序,3我们的4个UIViewControllers需要访问一个数组与照片。 它可能 (大多数情况下它不)是有意义的,有一个单身人士参考这些照片。

快速实现可以在这里find。 看起来像这样:

 + (id)sharedManager { static id sharedManager; static dispatch_once_t once; dispatch_once(&once, ^{ sharedManager = [[self alloc] init]; }); return sharedManager; } 

你可以看到在这里实现这种模式的其他方式。

在Swift 2.1中看起来像这样:

 class Manager { static let sharedManager = Manager() private init() { } } 

这里是一个例子和教程: http : //www.galloway.me.uk/tutorials/singleton-classes/

下面是另一个: 如何在目标C中创build单例类

单例包含全局variables和全局函数。它是在代码的不同部分之间共享数据的一种非常有效的方式,而不必手动传递数据。