IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    IOS单例模式推荐写法

    键盘上的舞者发表于 2016-03-21 08:30:37
    love 0

    +(instancetype)sharedUserLoginModel{
    
        static YLWUserLoginModel *instance;
        
        static dispatch_once_t onceToken;
        
        dispatch_once(&onceToken, ^{
            
            instance = [[YLWUserLoginModel alloc]init];
            
        });
        return instance;
        
    }

    这种写法的好处是:

    1. 线程安全。

    2. 满足静态分析器的要求。

    3. 兼容了ARC

    总结:1.这个方法可以在创建单例或者某些初始化动作时使用,以保证其唯一性。2.该方法是线程安全的,所以请放心大胆的在子线程中使用。(前提是你的dispatch_once_t *predicate对象必须是全局或者静态对象。这一点很重要,如果不能保证这一点,也就不能保证该方法只会被执行一次。)



沪ICP备19023445号-2号
友情链接