Singleton类在Objective-C中有什么用?
我知道Singleton类是一个只能创build一个对象的类。
我的问题是:
1. Objective-C中Singleton类的用法是什么 ?
2. 如何创build和使用创build的Singleton类?
单例是一种特殊的类,其中只有当前进程的类的一个实例存在。 在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
而这个video教程:
当你想要把东西暴露给整个项目时,你通常使用一个单例,或者你想要一个单一的入口点。 想象一下,你有一个照片应用程序,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和全局函数。它是在代码的不同部分之间共享数据的一种非常有效的方式,而不必手动传递数据。