[obj-c] Singleton(单例) for object-c

来源:互联网 发布:超人钢铁之躯 知乎 编辑:程序博客网 时间:2024/05/18 00:20

如何使用obj-c实践singleton(单例)


MySingleton.h

#import <Foundation/Foundation.h> @interface MySingleton : NSObject { }+(MySingleton*)sharedMySingleton;-(void)test;@end


MySingleton.m

@implementation MySingletonstatic MySingleton* _sharedMySingleton = nil; +(MySingleton*)sharedMySingleton{@synchronized([MySingleton class]){if (!_sharedMySingleton)[[self alloc] init]; return _sharedMySingleton;} return nil;} +(id)alloc{@synchronized([MySingleton class]){NSAssert(_sharedMySingleton == nil, @"Attempted to allocate a second instance of a singleton.");_sharedMySingleton = [super alloc];return _sharedMySingleton;} return nil;} -(id)init {self = [super init];if (self != nil) {// initialize stuff here} return self;} -(void)test {NSLog(@"Hello World!");}@end


原创粉丝点击