美文网首页
单例+ NSUserDefaults 数据固化的相关问题

单例+ NSUserDefaults 数据固化的相关问题

作者: 风林火山91 | 来源:发表于2017-04-07 17:09 被阅读0次

    今天在写一个项目的时候,发现了以前经常出现的问题。就是数据固化后,结果数据没有实时更新,导致后续出现一堆问题。在实际项目中,数据层的问题往往影响后续业务、以及架构逻辑问题。所以我花了很长时间研究我已将经常使用的单例+NSUserDefaults的方式。结果发现了一个惊天问题。


    那就是千万不要把单例模式和数据固化联系到一起。因为数据固化的时候,其实已经做过单例处理,在做一次单例很有可能导致数据更新不及时,从而出现数据延迟的情况。

    +(instancetype)sharedStore{

    //确保多线程中只创建一次对象,线程安全的单例

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

    instance = [[self alloc] initPrivate];

    });

    return instance;

    }

    -(instancetype)initPrivate{

    self = [super init];

    if (self) {

    _dictionary = [[NSMutableDictionary alloc] init];

    //注册为低内存通知的观察者

    NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];

    [nc addObserver:self

    selector:@selector(clearCaches:)

    name:UIApplicationDidReceiveMemoryWarningNotification

    object:nil];

    [self loadUserInfo];

    }

    return self;

    }

    在loadUserInfo 加载各种数据,但是结果不及时

    相关文章

      网友评论

          本文标题:单例+ NSUserDefaults 数据固化的相关问题

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