一行代码实现swift的单例模式

swift实现单例的四种方式 :

单例模式

单例模式是设计模式中最简单的一种,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象。

当你只需要一个实例的时候需要使用单例,如UIApplication.sharedApplication() 等 ,windows的任务管理器,回收站 都是只能同时存在一个。

下面看看swift中的4种实现方式:

1、import Foundation

class SingleOne {

//单例

static let shareSingleOne = SingleOne()

}

一句话搞定,静态常理。所有地方用到的都是同一个!

2、import Foundation 

class SingleTwo {

//单例

class func shareSingleTwo()->SingleTwo{

struct Singleton{

static var onceToken : dispatch_once_t = 0

static var single:SingleTwo?

}

dispatch_once(&Singleton.onceToken,{

Singleton.single=shareSingleTwo()

}

)

return Singleton.single!

}

}

使用dispatch_once可以保证其中的代码只执行一次

3、

import Foundation

//全局的常量

let single = SingleThree()

class SingleThree {

class var sharedInstance : SingleThree {

return single  }

}

4、import Foundation

class SingleFour {

static var sharedInstance : SingleFour {

struct Static {

static let instance : SingleFour = SingleFour()

}

return Static.instance  

}

}

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

相关阅读更多精彩内容

  • 单例:意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单...
    CoderZS阅读 3,698评论 1 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,856评论 19 139
  • 在一个ios应用中,有时候我们只需要某个类的一个实例。即是在整个项目中,这个类的对象只能被初始化一次。 例如,当应...
    蠡园里面有李源阅读 3,418评论 1 0
  • 前言 本文主要参考 那些年,我们一起写过的“单例模式”。 何为单例模式? 顾名思义,单例模式就是保证一个类仅有一个...
    tandeneck阅读 7,243评论 1 8
  • 摘要:设计模式之一:单例模式目录介绍1.单例模式介绍2.单例模式定义3.单例模式使用场景4.单例模式的实现方式 4...
    肆虐的悲傷阅读 3,335评论 0 2

友情链接更多精彩内容