读书人

iOS设计方式单例模式

发布时间: 2013-01-26 13:47:03 作者: rapoo

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.


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


读书人网 >操作系统

热点推荐