Swift的单例模式

Swift

Comments

单例对象可以我们使用一个类获取对象时,多次创建对象或者多次获取对象,得到的都是同一个对象。无论使用音频特效还是网络工具,我们都可以在我们的应用中使用统一的方式来获取单例资源或服务。

OC下的单例

OC中可以通过在dispatch_once函数的Block中调用初始化方法来实现单例。

+(instancetype)sharedInstance{staticid_sharedInstance=nil;staticdispatch_once_tonceToken;dispatch_once(&onceToken,^{_sharedInstance=[[selfalloc]init];});return_sharedInstance;}

Swift中的单例

Swift中,通过懒加载初始化(可以保证只初始化一次)的静态类属性实现单例。即便是在多线程同时访问的情况下也可以保证单例的实现。

classSingleton{staticletsharedInstance=Singleton()}

如果需要额外的初始化操作,你可以通过调用Block的方式来实现:

class Singleton {

static let sharedInstance: Singleton = {

let instance = Singleton()

// setup code

return instance

}()

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • swift实现单例的四种方式 : 单例模式 单例模式是设计模式中最简单的一种,甚至有些模式大师都不称其为模式,称其...
    Jason_Wong阅读 1,054评论 0 5
  • 单例:意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单...
    CoderZS阅读 646评论 1 13
  • 在之前的帖子里聊过状态管理有多痛苦,有时这是不可避免的。一个状态管理的例子大家都很熟悉,那就是单例。使用Swift...
    Tank丶Farmer阅读 6,599评论 0 5
  • OC版的单例模式 Swift的单例模式 这地方就不做过多的解释了,想细的请挫下面的链接http://www.coc...
    乡水情缘阅读 232评论 0 0
  • 苹果内嵌了好多字体,但是这些字体对中文并不是太友好,所以很多情况下我们需要自己导入第三方字体。字体的格式就是ttf...
    reborn丶阅读 471评论 2 0

友情链接更多精彩内容