文档章节

单例模式

就不穿小内
 就不穿小内
发布于 2015/12/15 01:04
字数 157
阅读 80
收藏 2


OC 的单例写法

+ (instancetype)sharedTools {   

 static id instance;   
  
 static dispatch_once_t onceToken;   
 
  dispatch_once(&onceToken, ^{
  
        instance = [[self alloc] init];
        
    });    return instance;
}
  • Swift 仿 OC 的写法

class SoundTools: NSObject { 
 
  static var instance: SoundTools? 
    
   static var onceToken: dispatch_once_t = 0

    class func sharedSoundTools() -> SoundTools {
    
        dispatch_once(&onceToken) { () -> Void in
        
            instance = SoundTools()
            
        }        return instance!
    }
}

在 Swift 中默认使用项目名称作为类的命名空间,但是在做混合开发时,不允许使用特殊符号,可以参照下图修改

  • 导入头文件

#import "单例测试-Swift.h"

导入头文件的格式是 命名空间-Swift.h

  • Swift 中的单例写法

// Swift 单例写法static let sharedSoundTools = SoundTools()

override init() { 

   print("创建单例!")
}


© 著作权归作者所有

下一篇: 调度组
就不穿小内
粉丝 4
博文 59
码字总数 32988
作品 0
海淀
私信 提问

暂无文章

通过微服务来正确实施SOA

对于组织来说,能够构建、发展和扩展大型应用程序是至关重要的, 但所涉及的挑战使其成为一项艰巨的任务。正因为如此, 微服务凭借能够将单个组件拆分成围绕特定业务功能的独立服务,已成为构建...

Linux就该这么学
21分钟前
2
0
从 Spark 到 Kubernetes — MaxCompute 的云原生开源生态实践之路

2019年5月14日,喜提浙江省科学技术进步一等奖的 MaxCompute 是阿里巴巴自研的 EB 级大数据计算平台。该平台依托阿里云飞天基础架构,是阿里巴巴在10年前做飞天系统的三大件之分布式计算部分...

阿里云官方博客
24分钟前
1
0
使用python来操作redis用法详解

1、redis连接 redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的red...

dragon_tech
24分钟前
2
0
给研发工程师的代码质量利器 | SOFAChannel#5 直播整理

> SOFA:Channel,有趣实用的分布式架构频道。 > > 本文根据 SOFAChannel#5 直播分享整理,主题:给研发工程师的代码质量利器 —— 自动化测试框架 SOFAActs。 > > 回顾视频以及 PPT 查看地址...

SOFAStack
26分钟前
1
0
段错误总结

https://blog.csdn.net/e_road_by_u/article/details/61415732 一、段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问...

悲催的古灵武士
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部