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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© runsunlife 中级黑马   /  2015-8-28 07:57  /  483 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、单例设计模式的要点:  
(1)某个类只能有一个实例。  
(2)他必须自行创建这个对象  
(3)必须自行向整个系统提供这个实例;  
(4)为了保证实例的唯一性,我们必须将  
-(id)copyWithZone:(NSZone *)zone  
+(id)allocWithZone:(NSZone *)zone -(id)retain
-(NSUInteger)retainCount
-(oneway void)release -(id)autorelease 的实现方法进行覆盖。  
(5)这个方法必须是一个静态类  

2、在OC中实现单例模式:  
先创建一个单例类,即:  
#import <Foundation/Foundation.h>
@interface Bee : NSObject<NSCopying>//注意此处调用了NScoping协议
+(Bee *)shareIsrance;//此处定义了一个工厂方法,用工厂方法来限制实例化过程  

注意:所谓单例,即我们自己创建一个单例类,该类只能生成唯一的对象,即
用 if (sharesingleton == nil) 方法来保证唯一性,为了防止该对象被复制(copy) 或者retain 和release 等操作,我们必须在所创建的单例的实现文件( .m 文件)中将父 类的这些方法给覆盖,该目的是为了保证单例模式的一个严谨性。

1 个回复

倒序浏览
可以进入黑马就业办了!!!准奏~~!!~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马