单例模式

1 基本概念 :在程序运行过程中,一个类只有一个实例。

2 使用场合 :在整个应用程序中,共享一份资源(这份资源只需要创建初始化一次)。

3 实现步骤

1)在类的内部提供一个static修饰的全局变量。

2)提供一个类方法方便外界访问。(类方法的命名:share + 类名 | default + 类名)

3)重写+allocWithZone方法。(在这里保证为对象,只分配一次内存空间,使用一次性执行代码)

4)重写-copyWithZone 和 -mutableCopyWithZone (在这两个方法中,直接返回实例对象,因为,这两个方法是对象方法,被调用,说明,对象已经被创建了,所以直接返回实例对象就可以了)。

上面的四步,是在ARC下创建一个单例对象,如果是在MRC下,还要补充几个方法的实现。

5)重写 -release方法(在这个方法中,什么也不做)。

6)重写 -retain方法(在这个方法中直接返回实例对象)

7)重写 -retainCount方法(在这个方法中,返回一个最大值)

相关代码如下:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单例模式的作用 可以保证在程序运行过程,一个类只有一个实例,而且该实例易于供外界访问 从而方便地控制了实例个数,并...
    JonesCxy阅读 2,870评论 0 0
  • 简介: 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统...
    RunnerFL阅读 3,808评论 0 0
  • 爱上一个人并不难,难的是看清楚了一个人却仍然爱着他。两个人相处久了,难免会抱怨一句“你变了”、“你也变了”……你想...
    aya1212阅读 3,146评论 1 4
  • 今天看到朋友圈小伙伴说,加班来的太快就像龙卷风,估计她看到加班时候的心情是这样的。 我也想谈下关于加班的那点事儿。...
    王二公子阅读 3,196评论 1 2
  • 我对土申说,我即将去当一棵有脚的杂木树。 “当?怕不是一份职业?” “可不是说老酒馆还有一份当猫的职业” “长脚?...
    喵喵咪酱汁阅读 923评论 0 1