美文网首页
Swift的单例模式

Swift的单例模式

作者: 大鹏你我他 | 来源:发表于2017-03-06 19:03 被阅读0次

    Swift

    Comments

    单例对象可以我们使用一个类获取对象时,多次创建对象或者多次获取对象,得到的都是同一个对象。无论使用音频特效还是网络工具,我们都可以在我们的应用中使用统一的方式来获取单例资源或服务。

    OC下的单例

    OC中可以通过在dispatch_once函数的Block中调用初始化方法来实现单例。

    +(instancetype)sharedInstance{staticid_sharedInstance=nil;staticdispatch_once_tonceToken;dispatch_once(&onceToken,^{_sharedInstance=[[selfalloc]init];});return_sharedInstance;}

    Swift中的单例

    Swift中,通过懒加载初始化(可以保证只初始化一次)的静态类属性实现单例。即便是在多线程同时访问的情况下也可以保证单例的实现。

    classSingleton{staticletsharedInstance=Singleton()}

    如果需要额外的初始化操作,你可以通过调用Block的方式来实现:

    class Singleton {

    static let sharedInstance: Singleton = {

    let instance = Singleton()

    // setup code

    return instance

    }()

    }

    相关文章

      网友评论

          本文标题:Swift的单例模式

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