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

时间:2013-04-25 06:40:25

标签: ios objective-c singleton

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

我的问题是:

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

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

3 个答案:

答案 0 :(得分:11)

当您想要向整个项目公开某些东西时,或者您想要一个单一的入口点时,通常使用Singleton。想象一下,你有一个照片应用程序,3我们4 UIViewControllers需要访问带照片的数组。 可能(大部分时间没有)让Singleton能够引用这些照片。

可以找到快速实施here。看起来像这样:

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

您可以看到实现此模式的其他方式here

在Swift 2.1中看起来像这样:

class Manager {

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

答案 1 :(得分:7)

答案 2 :(得分:3)

以下是一个示例和教程:http://www.galloway.me.uk/tutorials/singleton-classes/

这是另一个:How to create singleton class in objective C

Singleton包含全局变量和全局函数。这是一种非常强大的方法,可以在代码的不同部分之间共享数据,而无需手动传递数据。