您的位置:首页 > 移动开发 > IOS开发

iOS开发之单例模式

2015-11-26 13:04 363 查看
单例模式是一种常用的软件设计模式,在应用这个模式时,单例对象的类必须保证只有一个实例存在。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

iOS中最常见的单例就是UIApplication,UIWindow.

单例的实现步骤:

1> 重写allocWithZone方法;

allocWithZone方法是对象分配内存空间时,最终会调用的方法,重写该方法,保证只会分配一个内存空间。

2> 建立sharedXXX类方法,便于其他类访问;

方法实现代码如下:

?
dispatch_once 是线程安全的,能够做到在多线程的环境下Block中的代码只会被执行一次;

单例模式

优点:

可以阻止其他对象实例化单例对象的副本,从而确保所有对象都访问唯一实例;

缺点:

单例对象一旦建立,对象指针是保存在静态区的,单例对象在堆中分配的内存空间,会在应用程序终止后才会被释放;

提示:

只有确实需要唯一使用的对象才需要考虑单例模式,不要滥用单例。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: