Swift 1.2 实现单例
Swift 1.2 单例实现
第一种:类常量
class Singleton: NSObject {
// 类常量
static let sharedInstance = Singleton()
private override init() {
super.init()
}
}
第二种:嵌套结构体
class Singleton: NSObject {
// 嵌套结构体
class var sharedInstance: Singleton{
struct Static {
static let instance: Singleton = Singleton()
}
return Static.instance
}
private override init() {
super.init()
}
}
第三种:GCD:dispatch_once
class Singleton: NSObject {
// GCD:dispatch_once
class var sharedInstance:Singleton {
struct Static {
static var onceToken:dispatch_once_t = 0
static var instance:Singleton? = nil
}
dispatch_once(&Static.onceToken, { () -> Void in
Static.instance = Singleton()
})
return Static.instance!
}
private override init() {
super.init()
}
}
参考:http://stackoverflow.com/questions/24024549/dispatch-once-singleton-model-in-swift
CoreText
从OC到Swift,你还是一个人吗?
74 声望
7 粉丝
推荐阅读
苹果邮件
App 被拒收到的邮件 邮件一 {代码...}
laznrbfe阅读 2k
iOS 健康共享失败如何解决
您要开始与之共享的对象必须已经连同他们的 iCloud 账户邮箱一起保存在您的“通讯录”中(iCloud 账户邮箱即 iCloud 账户绑定的邮箱信息,不是强制要求 @iCloud.com 邮箱)。
岚哲阅读 5k
探究 iOS 内存问题
本文从 Tagged Pointer、objc 源码、dealloc 原理、AutoreleasePool 原理、野指针探究等技术点展开聊了聊 iOS 内存相关问题。
杭城小刘赞 1阅读 1.4k
iOS IDA逆向之patch
这里介绍的是ida的patch.1.搜索svc #0x80,回到IDA View-A界面,才能正确搜索点击图中T字按钮,弹出搜索框点击列表中进入2.修改svc #0x80,在IDA View-A界面中选中svc那一行,点击工具栏Edit-->Patch program-->...
宋冬野阅读 2k
社交场景下iOS消息流交互层实践
一款社交产品的诞生,离不开即时通讯(IM)场景。随着团队业务版图在社交领域的布局,诞生了多个社交场景APP,涉及的IM场景,包含私聊、群聊、聊天室等。
云音乐技术团队赞 1阅读 415
SegmentFault 思否技术周刊 Vol.77 — 探究关于 iOS 的特性
本文从 Tagged Pointer、objc 源码、dealloc 原理、AutoreleasePool 原理、野指针探究等技术点展开聊了聊 iOS 内存相关问题。
Beverly阅读 1.3k
高能预警!第十七届 D2 第一波话题新鲜出炉 ~
经过三个月紧张又刺激的准备工作,我们本届 D2 的 5 位出品人和 8 位特邀嘉宾最终从 49 个内部报名的话题中挑选了 14 个话题作为今年第十七届 D2 的首份作品,给到大家。
阿里巴巴终端技术阅读 1.2k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。