CocoaPods trunk is moving to be read-only. Read more on the blog, there are 14 months to go.
| TestsTested | ✓ |
| LangLanguage | Obj-CObjective C |
| License | MIT |
| ReleasedLast Release | Dec 2014 |
Maintained by Dmitry Obukhov.
DOSingleton is a subclassable Objective-C singleton for Mac OSX and iOS.
Copy the following files to your project:
DOSingleton/DOSingleton.hDOSingleton/DOSingleton.mDOSingleton is also available on CocoaPods
DOSingleton is designed for subclassing, you should subclass it to make your own singleton:
#import "DOSingleton.h"
@interface MySingleton : DOSingleton {
NSString *foo;
}
- (void)printFoo;
@endWhen subclassing DOSingleton you should think about your subclass as an ordinary class, DOSingleton makes sure that there is only one instance of your class.
If you want to make your own initializer or override -init method your should check whether your singleton has already been initialized with isInitialized property to prevent repeated initialization.
#import "MySingleton.h"
@implementation MySingleton
- (id)init
{
if (!self.isInitialized) {
self = [super init];
if (self) {
// Initialize self.
}
}
return self;
}
- (void)printFoo
{
NSLog(@"%@", foo);
}
@endThen you can get the shared instance of your singleton with +sharedInstance methods:
[[MySingleton sharedInstance] printFoo];DOSingleton uses ARC.
http://cocoadocs.org/docsets/DOSingleton
DOSingleton is available under the MIT license. See the LICENSE.md file for more info.
Feel free to use it and contribute!