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

iOS设计方式——单例模式

2013-01-26 
iOS设计模式——单例模式+ (void)attemptDealloc{if ([sharedCLDelegate retainCount] ! 1)return[sharedC

iOS设计模式——单例模式

+ (void)attemptDealloc{ if ([sharedCLDelegate retainCount] != 1) return; [sharedCLDelegate release]; myInstance = nil;}

值得注意的是,上面这个attemptDealloc方法顾名思义,只是试图释放掉这个单例。如果retain的计数不为1,说明还有其他地方对该单例发送过retain消息。考虑到一个单例模式的生存周期是整个程序结束为止。所以,在程序的任何一个地方都没有必要向这个单例发送retain消息,即便是对这个单例有引用。而是调用sharedInstance方法来引用这个单例,这样做是安全的,也是合乎单例模式的技术含义的。

iOS中的单例模式应用

iOS中好几个类都是采用了单例模式,比如NSApplication, NSFontManager,   NSDocumentController,NSHelpManager, NSNull,NSProcessInfo, NSScriptExecutionContext,   NSUserDefaults.


如果本文有任何错误之处,欢迎拍砖指正,共同进步, 谢谢!


热点排行