我知道Singleton类是一个类,一次只能创建一个对象。
我的问题是:
1. 什么在objective-c中使用Singleton类?
2. 如何创建和使用创建的Singleton类?
答案 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)
单例是一种特殊的类,其中只有一个类的实例存在于当前进程中。对于iPhone应用程序,整个应用程序共享一个实例。
看看这些教程:
http://www.codeproject.com/Tips/232321/Implement-Objective-C-Singleton-Pattern
http://xcodenoobies.blogspot.in/2012/08/how-to-pass-data-between.html
http://www.johnwordsworth.com/2010/04/iphone-code-snippet-the-singleton-pattern/
http://www.idev101.com/code/Objective-C/singletons.html
这个视频教程:
答案 2 :(得分:3)
以下是一个示例和教程:http://www.galloway.me.uk/tutorials/singleton-classes/
这是另一个:How to create singleton class in objective C
Singleton包含全局变量和全局函数。这是一种非常强大的方法,可以在代码的不同部分之间共享数据,而无需手动传递数据。