zoukankan      html  css  js  c++  java
  • iOS

    前言

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

    单例类的创建

    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)
      
  • 相关阅读:
    luogu P3239 [HNOI2015]亚瑟王
    android之软件键盘
    Eclipse输入智能提示设置
    防止反编译
    二进制数据读写
    数据类型转换
    类对象的读写文件
    Eclipse 快捷键
    修改IP
    Android eclipse 运行项目设置程序默认安装到SD卡
  • 原文地址:https://www.cnblogs.com/QianChia/p/5777501.html
Copyright © 2011-2022 走看看