美文网首页
Swift中的单例

Swift中的单例

作者: captain_Lu | 来源:发表于2016-09-13 15:28 被阅读24次

项目开发中往往经常使用单例模式,单例的目的:

  • 内存中只有一个对象实例
  • 提供一个全局访问点

OC 中的单例写法

+ (instancetype)sharedManager {
    static id instance;
    static dispatch_once_t onceToken;
    NSLog(@"%ld", onceToken);
//onceToken默认等于0,如果是0就会执行block,如果不是0就不会执行
    dispatch_once(&onceToken, ^{
        instance = [[self alloc] init];
    });
    return instance;
}

Swift 中的单例

static var instance: NetworkTools?
static var token: dispatch_once_t = 0
/// 在 swift 中类变量不能是存储型变量
class var sharedNetworkTools: NetworkTools {
    dispatch_once(&token, { () -> Void in
        self.instance = NetworkTools()
    })
    return self.instance!
}

不过!在 Swift 中 let 本身就是线程安全的

改进过的单例代码

private static let instance = NetworkTools()
/// 在 swift 中类变量不能是存储型变量
class var sharedNetworkTools: NetworkTools {
    return instance
}

相关文章

  • swift语法-14单例

    swift语法-14单例 OC中单例 Swift中单例 简写 Swift中最长用的方法

  • 单例模式的书写

    ARC OC 中的单例 根据OC单例 改写成 Swift 中的单例 OC调用swift,需要#import "单例...

  • Swift中的单例

    转战swift有几天了,接触到了swift中的单例,下面介绍一下swift中的单例: 仿照OC中的单例的写法,写一...

  • 单例

    内存中只有一个对象实例 提供一个全局访问点 OC中的单例 swift中的单例 swift改进过的单例

  • Swift 单例

    Swift中编写单例的正确方式

  • 单例

    普通的 GCD单例 swift单例

  • iOS - 单例创建

    Swift创建单例 代码如下:Swift5 对应OC创建单例

  • Swift单例模式

    Swift单例模式 单例模式 单例模式的作用是解决“应用中只有一个实例”的一类问题。在Cocoa Touch框架中...

  • iOS 单例

    Objective-C 单例宏 Swift 单例声明

  • 单例

    //单例 // Swift 1.2后,可以使用类变量 // Swift 1.2之前单例的写法 /* class M...

网友评论

      本文标题:Swift中的单例

      本文链接:https://www.haomeiwen.com/subject/fbvmettx.html