Swift-单例

标准写法:

// 在swift中,类方法是不允许定义静态变量的
    static var once_t: dispatch_once_t = 0
    static var instance: NetWorkTools?
    class func sharedNetWorkTools() -> NetWorkTools {
        dispatch_once(&once_t) { 
            instance = NetWorkTools()
        }
        return instance!
    }

简单写法:

// swift中的let是线程安全的
    // 用到时才会创建
    static let instance: NetWorkTools = NetWorkTools()
    class func sharedNetWorkTools() -> NetWorkTools {
        return instance
    }

##注意单例用到的时候才会创建!!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏BeJavaGod

权限框架 - shiro 自定义realm

上篇文章中是使用的默认realm来实现的简单登录,这仅仅只是个demo,真正项目中使用肯定是需要连接数据库的 首先创建自定义realm文件,如下: ? 在shi...

33850
来自专栏小白安全

本地搭建安全狗无法安装插件问题的解决方法

一般是由于找不到apache服务名 其实很简单就可以解决的。 安装步骤:进入Apache安装目录下的bin目录: cd D:phpStudyAp...

35060
来自专栏菩提树下的杨过

"org.jboss.netty.internal.LoggerConfigurator".DESCRIBED is already registered 的解决办法

今天在jboss 6.2 EAP上部署一个项目时,报以下错误: org.jboss.msc.service.DuplicateServiceException:...

289100
来自专栏xingoo, 一个梦想做发明家的程序员

Kibana中doc与search策略的区别

在kibana中包含两种策略:doc和search。使用了两个循环队列来获取请求,并进行响应。 doc的代码如下: clientMethod: 'mget' ...

241100
来自专栏Golang语言社区

Golang语言--反射的用处--代码自动生成

背景: go语言处理db、json的时候,具体代码的变量定义和db字段、json输出的时候可能不一样。 这个时候,我们需要用tag的方式来进行定义。 例如: ?...

44160
来自专栏机器学习实践二三事

pip安装报错'not a supported wheel on this platform'

这个错误很常见,解决方法是改名,首先要获得在你的机器的平台上的合法名称: import pip pip.pep425tags.get_supporte...

29770
来自专栏王小雷

React Natvie在Mac os上安装并创建项目

详细记录React-Native 0.47版本在Mac OS 上安装过程并初始化项目。 ? 1. 安装RN环境 1.1 安装brew /usr/bin/ruby...

23760
来自专栏无原型不设计

【Mockplus教程】分组

为了更好的管理和组织多个页面,可以选择将页面分组。 选择多个页面,然后使用右键点击后,在弹出的菜单中选择“将页面归类到新分组”。 完整演示如下: ?

30070
来自专栏GreenLeaves

Oracle 删除监听程服务

1、开始->运行->输入regidit -> ? -> ? -> ? -> ? -> ? 红框内的右键删除 2、开始->运行->输入regidit -> ? -...

45080
来自专栏深度学习之tensorflow实战篇

python生成exe,环境win10简单的小程序案例

1.直接pip安装:pip install pyinstaller ? 2.打包时,在命令行中切换到要打包的程序所在目录,直接输入下面的指令即可。 ...

40650

扫码关注云+社区

领取腾讯云代金券