A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© peng_gavin 中级黑马   /  2015-7-6 18:50  /  1032 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

单例模式
Singleton模式,即单例模式。顾名思义,主要用于做应用程序的资源共享控制。实质为,单例是在程序声明周期里有且仅有被实例化过一次的类。为确保实例化的唯一,利用类的类(static)方法来生成和访问对象。至此,我们可以在程序中任何地方访问类的单例对象,因为只实例化唯一的一次,所以,并不用 alloc、init、autorelease初始化方法。
单例设计模式的要点:
(1) 某个类只能有一个实例。  
(2)他必须自行创建这个对象  
(3)必须自行向整个系统提供这个实例;
(4)这个方法必须是一个静态类;
.m文件代码(记住)
  1. @implementation Singleton
  2. static Singleton *st;
  3. +(Singleton*) instance{//可用id代替返回可用的指针对象 instance是方法名
  4. //静态变量,生命周期是整个程序,在下一次该函数调用时仍可使用 。
    if(st==nil ) {//指针为空就创建
         st = [[Singleton alloc] init];
  5. //指针st指向单例模式 Singleton
  6.       }
  7.     return st;//不是空就继续使用
  8. }
  9. @end
复制代码
注意:所谓单例,即我们自己创建一个单例类,该类只能生成唯一的对象,为了防止该对象被复制(copy)或者retain 和 release 等操作,我们必须在所创建的单例的实现文件( .m 文件)中将父类的这些方法给覆盖,该目的是为了保证单例模式的一个严谨性。

3 个回复

倒序浏览
不错,学习了
回复 使用道具 举报
周位杰 来自手机 中级黑马 2015-7-7 07:29:48
藤椅
不错不错~
回复 使用道具 举报
理解了,顶一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马