Swift 中创建单例

  • Swift 中使用单行单例法来创建单例,代码如下:
class MyClass: NSObject {
    static let shareInstance = MyClass()
    private override init() {}
}

通过分析 stack trace 后发现,执行下面代码时,调用了 dispatch_once_f,然后又调用了 _dispatch_client_callout,由此说明这里是线程安全的。

static let shareInstance = MyClass()

使用私有的方式重写 init 方法,是为了避免其他类直接调用单例类的 init 方法获得新的对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,272评论 19 139
  • 在之前的帖子里聊过状态管理有多痛苦,有时这是不可避免的。一个状态管理的例子大家都很熟悉,那就是单例。使用Swift...
    Tank丶Farmer阅读 11,526评论 0 5
  • 在之前的帖子里聊过状态管理有多痛苦,有时这是不可避免的。一个状态管理的例子大家都很熟悉,那就是单例。使用Swift...
    TomatosX阅读 4,654评论 0 1
  • 单例模式 什么是单例模式? 单例模式想一个大独裁者,他规定在他的国度里面,所有数据的访问和请求都得经过他,甚至你要...
    GitHubPorter阅读 4,916评论 0 4
  • 在使用swift编程语言进行iOS应用开发的时候,我们常常借助单例来进行状态管理,但由于实现单例的方法很多,问题就...
    突然自我阅读 3,899评论 0 0

友情链接更多精彩内容