DOSingleton
DOSingleton copied to clipboard
Subclassable Objective-C singleton for Mac OSX and iOS
DOSingleton
DOSingleton is a subclassable Objective-C singleton for Mac OSX and iOS.
Ussage
Copy files
Copy the following files to your project:
DOSingleton/DOSingleton.hDOSingleton/DOSingleton.m
DOSingleton is also available on CocoaPods
Subclass
DOSingleton is designed for subclassing, you should subclass it to make your own singleton:
#import "DOSingleton.h"
@interface MySingleton : DOSingleton {
NSString *foo;
}
- (void)printFoo;
@end
When 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);
}
@end
Then you can get the shared instance of your singleton with +sharedInstance methods:
[[MySingleton sharedInstance] printFoo];
Requirements
DOSingleton uses ARC.
Documentation
http://cocoadocs.org/docsets/DOSingleton
License
DOSingleton is available under the MIT license. See the LICENSE.md file for more info.
Feel free to use it and contribute!