zoukankan      html  css  js  c++  java
  • iOS开发笔记-两种单例模式的写法

    单例模式是开发中最常用的写法之一,iOS的单例模式有两种官方写法,如下:

    不使用GCD

    #import "ServiceManager.h"
    
    static ServiceManager *defaultManager;
    
    @implementation ServiceManager
    
    +(ServiceManager *)defaultManager{
        if(!defaultManager)
            defaultManager=[[self allocWithZone:NULL] init];
        return  defaultManager;
    }
    
    @end

    使用GCD

    #import "ServiceManager.h"
    
    
    @implementation ServiceManager
    
    
    +(ServiceManager *)sharedManager{
        static dispatch_once_t predicate;
        static ServiceManager * sharedManager;
        dispatch_once(&predicate, ^{
            sharedManager=[[ServiceManager alloc] init];
        });
        return sharedManager;
    }
    
    @end

    dispatch_once这个函数,它可以保证整个应用程序生命周期中某段代码只被执行一次!

  • 相关阅读:
    day11
    day10
    day9
    day8
    day7
    day6
    day14
    day13
    day12
    day11
  • 原文地址:https://www.cnblogs.com/mantgh/p/4353826.html
Copyright © 2011-2022 走看看