前言

  • 单例对象能够被整个程序所操作。对于一个单例类,无论初始化单例对象多少次,也只能有一个单例对象存在,并且该对象是全局的,能够被整个系统访问到。

单例类的创建

1.1 单例类的创建 1

  • 单例类的创建

    	class SingleClass1 {
    
    		var text:String = "default"
    
    		class var sharedInstance: SingleClass1 {
    struct Static {
    static var onceToken: dispatch_once_t = 0
    static var instance: SingleClass1? = nil
    }
    dispatch_once(&Static.onceToken) {
    Static.instance = SingleClass1()
    }
    return Static.instance!
    }
    }
  • 单例类对象的调用

    	var single1:SingleClass1 = SingleClass1.sharedInstance
    
    	single1.text = "QQ"
    
    	var str = SingleClass1.sharedInstance.text
    
    	println(str)

1.2 单例类的创建 2

  • 单例类的创建

    	class SingleClass2 {
    
    		var text:String = "default"
    
    		class var sharedInstance: SingleClass2 {
    struct Static {
    static let instance = SingleClass2()
    }
    return Static.instance
    }
    }
  • 单例类对象的调用

    	var single2:SingleClass2 = SingleClass2.sharedInstance
    
    	single2.text = "QQ"
    
    	var str = SingleClass2.sharedInstance.text
    
    	println(str)

1.3 单例类的创建 3

  • 单例类的创建

    	private let sharedKraken = SingleClass3()
    
    	class SingleClass3 {
    
    		var text:String = "default"
    
    		class var sharedInstance: SingleClass3 {
    return sharedKraken
    }
    }
  • 单例类对象的调用

    	var single3:SingleClass3 = SingleClass3.sharedInstance
    
    	single3.text = "QQ"
    
    	var str = SingleClass3.sharedInstance.text
    
    	println(str)

1.4 单例类的创建 4

  • 单例类的创建

    	class SingleClass4 {
    
    		var text:String = "default"
    
    		// This prevents others from using the default '()' initializer for this class.
    static let sharedInstance = SingleClass4()
    private init() {}
    }
  • 单例类对象的调用

    	var single4:SingleClass4 = SingleClass4.sharedInstance
    
    	single4.text = "QQ"
    
    	var str = SingleClass4.sharedInstance.text
    
    	println(str)

iOS - Swift SingleClass 单例类的更多相关文章

  1. iOS - OC SingleClass 单例类

    前言 单例对象能够被整个程序所操作.对于一个单例类,无论初始化单例对象多少次,也只能有一个单例对象存在,并且该对象是全局的,能够被整个系统访问到. 特点: 在内存中只有一个实例 提供一个全局的访问点 ...

  2. SingleClass单例类

    前言 对于一个单例类,无论初始化单例对象多少次,在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放,并且该对象是全局的,能够被整个系统访问到. 在应用这个模 ...

  3. iOS中编写单例类的心得

    单例 1.认识过的单例类有哪些: NSUserDefaults.NSNotificationCenter.NSFileManager.UIApplication 2.单例类 单例类某个类在代码编写时使 ...

  4. ios开发之 -- 单例类

    单例模式是一种软件设计模式,再它的核心结构中指包含一个被称为单例类的特殊类. 通过单例模式可以保证系统中一个类只有一个势力而且该势力易于外界访问,从而方便对势力个数的控制并节约系统资源.如果希望在系统 ...

  5. iOS开发——Swift篇&单例的实现

    Swift实现单例模式 Swift实现单例模式 由于Swift语言弱化了struct和class之间的界限,这里我分别给出自己写的两种的单例实现 class版本: class SwiftSinglet ...

  6. [iOS]封装单例类

    [iOS]封装单例类 今天在学习iOS的SQLite开发,发现在需要使用SQLite的每个视图中,都需要对数据库进行打开或关闭,觉得挺麻烦的:于是在想能否写个单例类对这些操作进行封(因以前一直在使用D ...

  7. iOS开发之单例设计模式(完整正确版本)

    单例的意思从字面上就可以略知一二,所谓单例就是确保在程序运行过程中只创建一个对象实例.可以用于需要被多次广泛或者说多次使用的资源中,比如我们常见的网络请求类.工具类以及其它管理类等.比如我iOS开发中 ...

  8. GCD实现简单的单例类-Singletion

    什么是单例模式 1.单例模式是一个类在系统中只有一个实例对象.通过全局的一个入口点对这个实例对象进行访问.在 iOS 开发中,单例模式是非常有用的一种设计模式.如 下图,是一个简单单例模式的 UML ...

  9. iOS 如何创建单例对象

    一.什么是单例? 说到单例我就想起了我的java啊 ,不禁感叹起我的大学时光,学了4年的java开发,到现在还是放弃了我的java,踏入了iOS的行列. 算了,入正轨,我现在正是铁树银花的青春美少女, ...

随机推荐

  1. webapi获取请求地址的IP

    References required: HttpContextWrapper - System.Web.dll RemoteEndpointMessageProperty - System.Serv ...

  2. rtsp里面的音频类型,大部分都默认规定了样本大小的。

    从src/audio_output/common.c里面的函数aout_BitsPerSample可知,rtsp里面的音频类型,大部分都默认规定了样本bit大小的.即是,一个音频编码类型,对应一个固定 ...

  3. 【转】Eclipse插件大全介绍及下载地址

    转载地址:http://developer.51cto.com/art/200906/127169.htm 尚未一一验证. eclipse插件大全介绍,以及下载地址 Eclipse及其插件下载网址大全 ...

  4. android 代码整体回退

    repo forall -c 'HAHA=`git log --before="3 days" -1 --pretty=format:"%H"`;git res ...

  5. 山东理工大学第七届ACM校赛-经济节约 分类: 比赛 2015-06-26 10:34 19人阅读 评论(0) 收藏

    经济节约 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 由于经济紧张,某国国王决定减少一部分多余的士兵,这些士兵在边界都有各自的 ...

  6. 验证码识别--type5

    验证码识别--type5 每一种验证码都是由人设计出来.在设计过程中,可能由于多个方面的原因,造成了这样或那样的可以被利用的漏洞.验证码识别,首先需要解决的问题就是发现这些漏洞--然后利用漏洞解决问题 ...

  7. ural 1113,jeep problem

    题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1113 网上的解答铺天盖地.我硬是花了两天才懂了点. wiki上的解释:https://e ...

  8. 数据库查询优化器的艺术:原理解析与SQL性能优化

    数据库查询优化器的艺术 作者:李海翔 Oracle公司MySQL全球开发团队.资深专家 简单的浏览了一遍,由于以前没有接触过SQL优化这些知识,读起来还是非常吃力的,不过收获还是很大的. 作者通过对M ...

  9. 模块shimgvw.dll已加载,但找不到入口点DllRegisterServer

    [环境]Windows 7 / Windows Server 2008 [现象]在文件夹浏览器中不能显示图片缩略图. [错误信息]查系统日志,有如下消息:“模块shimgvw.dll已加载,但找不到入 ...

  10. Android任务和返回栈完全解析

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/41087993 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工 ...