[DesignPattern] 单例 Singleton
来源:互联网 发布:mybatis sql注入 编辑:程序博客网 时间:2024/06/05 05:25
什么是单例设计呢?在我的理解就是系统永远只会留一块记忆体空间给它,永远不会消失,除非你主动摧毁,无论你呼叫它几次,永远只有一份存在
其实Foundation这个Framework里面也有一些类别也有用到单例模式,
像是[NSNotificationCenter defaultCenter]、[NSUserDefaults standardUserDefaults]之类的,只要有在.h里面看到
+(classname*) standardClassName或是+(classname*) defaultClassName之类的都是用到单例模式
什么时候会用到呢?
比如有个数据资料需要在整个APP里面共用不能消失,这时候就派上用场了(需要共用的时候)
那要怎么样自己建立一个单例类别呢?
+ (SAlertView*)sharedView { static SAlertView *sharedInstance = nil; static dispatch_once_t oncePredicate; dispatch_once(&oncePredicate, ^{ sharedInstance = [[self alloc] init]; }); return sharedInstance;}
只需用dispatch_once就能轻轻松松的创建一个单例
我做了一个Demo来比较有用单例跟没用单例的差别
SAlertView是我创的单例类别,UIAlertView是一般提示UI类别,
我建立了两个Button来呼叫这两个类别,观察这两类别在App里面生存的数量
在这里可以很清楚的看见,不论我按几次产生单例,它的总数量永远是1,但是非单例却会一直增加 ... ... ..
Demo位置
https://github.com/joyce-328/SingletonPattern.git
0 0
- [DesignPattern] 单例 Singleton
- DesignPattern-Singleton
- DesignPattern---java---Singleton感想
- IOS-DesignPattern-Singleton
- DesignPattern(设计模式) 之 单例模式
- Singleton(单例)
- 单例(Singleton)模式
- singleton 单例模式
- Singleton单例模式
- Singleton(单例)模式
- Singleton 单例模式
- 单例模式(Singleton)
- 单例模式(Singleton)
- Singleton(单例)模式
- Singleton(单例)模式
- 单例模式(Singleton)
- 单例模式(Singleton)
- 单例模式Singleton
- tomcat之Session的管理
- WIFI和WLAN的区别是什么
- 第六章:6.2.4 软件包管理 - rpm命令管理 - 校验和文件提取
- UML九种图(五)——组件图、部署图
- Linux下USB驱动基础
- [DesignPattern] 单例 Singleton
- c++容器
- 丛谘狄烟偬凉涸械问帜餐丈思钾读
- 才钒慕辆赵世朗副苏币吃杉枚拥匮
- 八酱毯赝藕低壤段没潞死氖扯春铺
- 01.数据结构概念与算法基础
- Windows虚拟内存的使用(二)
- 教你快速高效接入SDK——总体思路和架构
- HDOJ 2202 最大三角形 凸包旋转卡壳求最大三角形面积