单例模式Singleton-OC版

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式Singleton-OC版相关的知识,希望对你有一定的参考价值。

代码-.h文件:

#import <Foundation/Foundation.h>

@interface Instance : NSObject

+ (instancetype)sharedInstance;

@end

 

代码-.m文件:

#import "Instance.h"

@implementation Instance

static id _instance;

+ (instancetype)allocWithZone:(struct _NSZone *)zone {
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        _instance = [super allocWithZone:zone];
    });
    return _instance;
}

+ (instancetype)sharedInstance {
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        _instance = [[self alloc] init];
    });
    return _instance;
}

- (id)copyWithZone:(NSZone *)zone {
    return _instance;
}

- (id)mutableCopyWithZone:(NSZone *)zone {
    return _instance;
}

@end

 

以上是关于单例模式Singleton-OC版的主要内容,如果未能解决你的问题,请参考以下文章

单例模式之 懒汉模式普通版

《剑指Offer》——Singleton(Java版)

设计模式之单例模式

设计模式-单例

设计模式-单例

设计模式-单例