[Swift3.0]单例模式(学习)

swift 3.0中废弃了dispatch_once,这里只记录一个标准的单例写法,具体相关的内容,可以看看这篇文章;

单例写法.png

代码:

import UIKit

class SingleOnce {

    // 单例
    static let shared = SingleOnce.init()
    private init(){}

    // 其他方法


}

这里将init方法私有化了,这样在其他地方就无法init,保证了单例的唯一性.

PS: 如果继承自其他类,init方法要加override关键字

<h3>使用:</h3>

使用单例.png

如果,在外部调用init方法,会编译报错:

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

推荐阅读更多精彩内容

  • 在之前的帖子里聊过状态管理有多痛苦,有时这是不可避免的。一个状态管理的例子大家都很熟悉,那就是单例。使用Swift...
    Tank丶Farmer阅读 6,413评论 0 5
  • 尽管在我之前的博文里我就写过关于管理状态的那些坑,但是有时候我们就是无法避免它们。其中一类管理状态的方式我们耳熟能...
    一黑阅读 312评论 0 1
  • 在之前的帖子里聊过状态管理有多痛苦,有时这是不可避免的。一个状态管理的例子大家都很熟悉,那就是单例。使用Swift...
    TomatosX阅读 1,051评论 0 1
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,880评论 1 10
  • 在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案...
    张战威ican阅读 615评论 0 0