美文网首页
swift语法-14单例

swift语法-14单例

作者: 20b347b28fc9 | 来源:发表于2016-03-12 01:33 被阅读36次

swift语法-14单例


OC中单例
+ (instancetype)shareNetworkTools{
    static NetworkTools *_instance;
    // onceToken默认等于0, 只要执行一次之后就不等于0了, 原理是通过判断onceToken是否等于0决定是否需要执行block
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        
        _instance = [[NetworkTools alloc] init];
    });
    return _instance;
}
Swift中单例
class NetworkTools: NSObject {
    
    static var onceToken: dispatch_once_t = 0
    static var _instance:NetworkTools?
    
    //class func  相当于OC中的 +开头类方法
    class func sharedNetworkTools()->NetworkTools{
        dispatch_once(&NetworkTools.onceToken) { () -> Void in
            
            _instance = NetworkTools()
        }
        return _instance!
    }
}

简写

class NetworkTools: NSObject {
    
    static let _instance:NetworkTools = NetworkTools()
    
    //class func  相当于OC中的 +开头类方法
    class func sharedNetworkTools()->NetworkTools{
        return _instance
    }
}

Swift中最长用的方法

class NetworkTools: NSObject {
    // 如果在Swift中编写单例, 推荐使用如下写法
    //苹果有统一的命名规范, 但凡是单例统一是用shareInstance
    static let shareInstance: NetworkTools = NetworkTools()
}

相关文章

  • swift语法-14单例

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

  • iOS开发技巧(Swift版):单例创建

    在些项目的时候, 我们往往会用到单例模式,.相比OC中单例的写法, 结合Swift的语法特点,总结一下3种单例模式...

  • 单例模式的书写

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

  • iOS - 单例创建

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

  • 单例

    普通的 GCD单例 swift单例

  • iOS 单例

    Objective-C 单例宏 Swift 单例声明

  • Swift中的单例

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

  • 单例

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

  • Swift的单例模式及如何处理并发访问

    Swift的单例模式 Swift有两种方式实现单例模式 1、全局常量 2、类型常量 处理单例模式的并发访问 1、多...

  • swift struct 单例模式

    swift struct 单例模式

网友评论

      本文标题:swift语法-14单例

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