swift写单例

定义一个私有的类的实例变量并使用闭包初始化和初始化方法,类的实例变量设置为static类型

private static let singleClass:YxhClass = {
    let myClass = YxhClass(string: "yxh")
    return myClass
}()


var myStr:String
var a:Int = 0  
private init(string:String) {
    self.myStr = string
}

此时已经再写一个类方法将上面的myClass分享出去就可以获取到这个单例了。

class func shareSingle() ->YxhClass{
    return singleClass
}

最后可以打印出地址验证是否是同一个实例

func addA(){
    self.a = self.a + 1
    NSLog("%d+", self.a)
    printAddress(values: self as AnyObject)
    
}

func printAddress(values:AnyObject...){
    for value in values {
        print(Unmanaged.passUnretained(value).toOpaque())
    }
    line()
}
func line(){
    print("----------------")
}
结果

可以看到是同一个地址。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 7,891评论 2 9
  • 星空,是一种纯净,象征着安宁。星空里蕴含着很深的憧憬。 小时候,课本里有一篇课文《数星星的孩子》,晚上,满天的星星...
    一世福缘阅读 5,114评论 43 94
  • 九月的叶还未黄呢 可已听见萧萧送寒声 九月的花还未谢呢 可已道出悠悠断残更 九月的雨已凉 一夜点点敲到明 九月的荷...
    汐婳兒2369阅读 1,508评论 0 0
  • 冬日的暖阳还没有融掉悲伤 纷飞的大雪早已覆盖了惆怅 没来的及给忧郁涂上阳光 寒风已迫不及待无法阻挡 夏日的烈阳隐隐...
    罗伯特0狗剩子阅读 1,293评论 0 0
  • 今天是我生命中最美好的一天 今天是财富导师班的第三天,童总给我们开启了导师班的课程分享,一天的课程下来收获满满,同...
    艳平_9908阅读 929评论 0 0