在objective-c中使用Singleton类有什么用?

liz*_*iza -1 singleton objective-c ios

我知道Singleton类是一个类,一次只能创建一个对象.

我的问题是:

1. 在objective-c中使用Singleton类有什么用?

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

Rui*_*res 12

当您想要将某些内容暴露给整个项目时,或者您想要一个单一的入口点时,通常使用Singleton.想象一下,你有一个照片应用程序,我们4 UIViewControllers需要访问带照片的数组.可能(大多数情况下它没有)让Singleton能够引用这些照片.

可在此处找到快速实施.看起来像这样:

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

您可以在此处查看实现此模式的其他方法.

在Swift 2.1中看起来像这样:

class Manager {

    static let sharedManager = Manager()
    private init() { }
}
Run Code Online (Sandbox Code Playgroud)