前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单例的2种写法

单例的2种写法

作者头像
且行且珍惜_iOS
发布2018-05-22 16:55:35
4240
发布2018-05-22 16:55:35
举报

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

1,常用写法

import "ServiceManager.h"

static ServiceManager *defaultManager;

@implementation ServiceManager

+(ServiceManager *)defaultManager{ if(!defaultManager) defaultManager=[[self allocWithZone:NULL] init]; return defaultManager; }

@end

2,用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函数只执行一次。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.03.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档