IOS中两种单例模式的写法实例详解

  

<强> iOS的单例模式有两种官方写法,如下:

  

<强>(1)不使用GCD

        #进口“ServiceManager.h”   静态ServiceManager * defaultManager;   @ implementation ServiceManager   + (ServiceManager *) defaultManager {   如果(! defaultManager)   defaultManager=[[自我allocWithZone: NULL] init);   返回defaultManager;   }   @end      之前      

<强>(2)使用GCD

        #进口“ServiceManager.h”   @ implementation ServiceManager   + (ServiceManager *) sharedManager {   静态dispatch_once_t谓词;   静态ServiceManager * sharedManager;   dispatch_once(和谓词,^ {   sharedManager=[[ServiceManager alloc] init);   });   返回sharedManager;   }   @end   之前      

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

  

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

IOS中两种单例模式的写法实例详解