首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

【iOS】Objective-C简约而牛逼的单例模式

2012-09-24 
【iOS】Objective-C简约而不简单的单例模式前些日子在项目中因为误用了单例而导致了一系列问题。原来在object

【iOS】Objective-C简约而不简单的单例模式

前些日子在项目中因为误用了单例而导致了一系列问题。原来在objective-c中的单例并没有java或者C#那么简单的实现,这里记录下;

?

问题是这样被发现的,在对于一个UIViewController进行pop时并没有被dealloc,导致了内存泄露。问题代码类似于下面的:

?

+ (id)allocWithZone:(NSZone *)zone{      return [self sharedInstance];}- (id)copyWithZone:(NSZone *)zone{      return self;}

?同时深拷贝也直接重载阻止掉多个实例的出现。上面的allocWithZone的重载使得这个单例也能够直接用alloc或是allocWithZone进行初始化,但返回的一如既往是那个static的实例。

?

这样一个objective-c的单例模式才算是完整了。。。啦啦啦,每月末一博写完,睡觉去了。。。

?

?

热点排行