单例在整个工程中相当于一个全局变量,无论在哪里需要用到这个类的实力变量,都可以通过单例方法来取得,而且一旦创建了一个单例类,无论后面多少个界面调用了这个单例方法取得对象,它们所有的对象都是指向同一块内存存储空间,单例类保证了该类的实例对象是唯一存在的一个。
单例模式是iOS最常使用的设计模式之一,可以实现不同代码间的数据共享问题。单例类也贯穿于整个iOS的SDK中,iOS中也有很多的系统单例,例如:NSNotificationCenter(消息中心) 、NSFileManager(文件管理) 、 NSUserDefaults(持久化存储数据) 、NSURLCache(请求缓存)、sharedApplication、NSHTTPCookieStorage(应用程序cookies池)都是系统单例;
单例类的实现方法:
比如先创建一个bleManager类,在.h中声明此方法,然后在.m中做一下实现(有多种实现方法,也可用GCD或其他方式)。
假如在bleManager中有getDeviceList一个方法,如下:
然后在整个项目中的任何一个界面中,都可以通过shareInstance方法调用bleManager类里其他的方法,如getDeviceList,以此来实现数据共享。调用方法如:
网友评论