八、实用进阶
1.Swift语言中的两种单利模式
//单例模式可以保证一个类仅有一个实例。
import UIKit
//final修饰符:可以防止类被继承,还可以防止子类重写父类的属性、方法以及下标。该修饰符不能修饰结构体和枚举。
final class SingleClass: NSObject
{
//使用static修饰符,定义一个静态常量。静态常量在实例调用结束后不会消失,并且保留原值,即其内存不会被释放。当下次调用实例时,仍然使用常量原有的值。
static let shared = SingleClass()
//为了保持一个单例的唯一性,单例的构造器必须是private的。以防止其他对象也能创建出单例类的实例
private override init() {}
func say()
{
print("Hello, CoolKeTang!")
}
}
SingleClass.shared.say()
final class SecondSingletonClass: NSObject
{
//使用static修饰符,定义一个静态变量。
static var shared: SecondSingletonClass
{
//借助结构体来存储类型变量(class var),并使用let修饰符来保证线程的安全
struct Static
{
static let instance: SecondSingletonClass = SecondSingletonClass()
}
return Static.instance