Создание синглтона с помощью dispatch_once GCD в Objective-C

Если вы можете настроить таргетинг на iOS 4.0 или более позднюю версию

Использование GCD, лучший ли способ создать синглтон в Objective-C (потокобезопасный)?

+ (instancetype)sharedInstance
{
    static dispatch_once_t once;
    static id sharedInstance;
    dispatch_once(&once, ^{
        sharedInstance = [[self alloc] init];
    });
    return sharedInstance;
}
341
задан Cœur 26 June 2019 в 02:20
поделиться

1 ответ

@interface className : NSObject{
+(className*)SingleTonShare;
}

@implementation className

+(className*)SingleTonShare{

static className* sharedObj = nil;
static dispatch_once_t once = 0;
dispatch_once(&once, ^{

if (sharedObj == nil){
    sharedObj = [[className alloc] init];
}
  });
     return sharedObj;
}
0
ответ дан 23 November 2019 в 00:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: