源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-03-12 02:50 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:IOS 中两种单例模式的写法实例详解
[b]iOS的单例模式有两种官方写法,如下:[/b] [b](1)不使用GCD[/b]
#import "ServiceManager.h"
static ServiceManager *defaultManager;
@implementation ServiceManager
+(ServiceManager *)defaultManager{
  if(!defaultManager)
    defaultManager=[[self allocWithZone:NULL] init];
  return defaultManager;
}
@end

[b](2)使用GCD[/b]
#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这个函数,它可以保证整个应用程序生命周期中某段代码只被执行一次! 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部