美文网首页OC
OC:单例销毁与重建

OC:单例销毁与重建

作者: 春暖花已开 | 来源:发表于2018-10-08 16:42 被阅读26次

dispatch_once在判断是否需要执行的关键语句:

if (DISPATCH_EXPECT(*predicate, ~0l) != ~0l) {
    dispatch_once_f(predicate, context, function);
}

可以了解到 dispatch_once_t参数的初始值就是0l,只需要重置dispatch_once_t参数及实例参数,具体代码如下:

static CSAccountManager *singleton = nil;
static dispatch_once_t onceToken;

+ (instancetype)sharedInstance{
    
    dispatch_once(&onceToken, ^{
        singleton = [[CSAccountManager alloc] init];
    });
    return singleton;
}

- (void)resetAccount {
    singleton = nil;
    onceToken = 0l;
    [[CSAccountManager sharedInstance] updateUserData];
}

参考自:HappyCoco

相关文章

  • OC:单例销毁与重建

    dispatch_once在判断是否需要执行的关键语句: 可以了解到 dispatch_once_t参数的初始值就...

  • iOS 单例销毁重建

    在iOS中,单例模式是比较常用的一种模式,保证相关代码只会执行一次,但有时候会有一种场景,需要销毁单例进行重建。 ...

  • 单例模式的书写

    ARC OC 中的单例 根据OC单例 改写成 Swift 中的单例 OC调用swift,需要#import "单例...

  • iOS中的单例模式如何销毁重建

    在iOS中,单例模式是比较常用的一种模式,保证相关代码只会执行一次,但有时候会有一种场景,需要销毁单例进行重建。 ...

  • iOS中的单例模式如何销毁重建

    在iOS中,单例模式是比较常用的一种模式,保证相关代码只会执行一次,但有时候会有一种场景,需要销毁单例进行重建。如...

  • swiftly单例

    swiftly的单例比OC的更加简单! Oc中的单例:

  • 8. 单例

    单例 1、GCD方式创建单例 2、互斥锁方式 销毁

  • 单例创建与销毁

    平时创建 单例对象 用的苹果官网提倡的写法: but 假设有时候我们一个用户信息类,一般是个 单例对象,但当用户退...

  • ios单例的修改

    OC创建单例的时候确保程序在运行周期的时候,只有一个实例对象,但如果想销毁或者修改单例时,我就不知道该怎么做了,下...

  • iOS 单例模式 - 单例对象销毁【@synchronized】

    单例对象的创建方式 单例.h 文件的实现 单例.m 文件的实现 单例对象的销毁【@synchronized创建方式...

网友评论

    本文标题:OC:单例销毁与重建

    本文链接:https://www.haomeiwen.com/subject/kysjaftx.html