读书人

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

发布时间: 2012-09-24 13:49:41 作者: rapoo

【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的单例模式才算是完整了。。。啦啦啦,每月末一博写完,睡觉去了。。。

?

?

读书人网 >操作系统

热点推荐