美文网首页
iOS 单例模式

iOS 单例模式

作者: KillSimon | 来源:发表于2016-06-20 11:35 被阅读0次

    单例模式(singleton),顾名思义,单个实例。也就是说,整个App lifetime期间,该类只能有一个实例对象。

    iOS中实现单例模式通常使用下面两种方法:

    请容许我模仿系统UIApplication的实现来进行编码,我们假设可以这么做:)。

    <pre>第一种:
    + (UIApplication)sharedApplication{
    static UIApplication
    application = nil;
    @synchronized(self){
    if(application == nil){
    application = [[UIApplication alloc]init];
    }
    }
    return application;
    }
    </pre>

    <pre>第二种:
    +(UIApplication)sharedApplication{
    static UIApplication
    application = nil;
    static dispatch_once_t predicate;
    //简单说一下下面这个函数,其功能是保证在app生命周期中,只执行一次参数中的block
    dispatch_once(&predicate, ^{
    application = [[UIApplication alloc]init];
    });
    return application;
    }

    </pre>

    单例模式的应用场景:
    通常用于资源管理类,比如网络请求,文件管理等等。

    相关文章

      网友评论

          本文标题:iOS 单例模式

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