zoukankan      html  css  js  c++  java
  • swift中单例类的创建

    1.最经典的

    class TheOneAndOnlyKraken {
        static let sharedInstance = TheOneAndOnlyKraken()
        private init() {} //This prevents others from using the default '()' initializer for this class.
    }
     

    2.只执行一次法

    class TheOneAndOnlyKraken {
        class var sharedInstance: TheOneAndOnlyKraken {
            struct Static {
                static var onceToken: dispatch_once_t = 0
                static var instance: TheOneAndOnlyKraken? = nil
            }
            dispatch_once(&Static.onceToken) {
                Static.instance = TheOneAndOnlyKraken()
            }
            return Static.instance!
        }
    }

    3.结构体法

    class TheOneAndOnlyKraken {
        class var sharedInstance: TheOneAndOnlyKraken {
            struct Static {
                static let instance = TheOneAndOnlyKraken()
            }
            return Static.instance
        }
    }

    4.全局变量法

    private let sharedKraken = TheOneAndOnlyKraken()
    class TheOneAndOnlyKraken {
        class var sharedInstance: TheOneAndOnlyKraken {
            return sharedKraken
        }
    }
  • 相关阅读:
    linux内核之情景分析mmap操作
    linux内核情景分析之匿名管道
    linux内核情景分析之命名管道
    linux内核情景分析之信号实现
    Linux内核情景分析之消息队列
    linux2.4内核调度
    聊聊程序的配置文件
    汽车引擎是怎么工作的
    Go对OO的选择
    为而不争
  • 原文地址:https://www.cnblogs.com/danMing-love/p/7418083.html
Copyright © 2011-2022 走看看