1.单例模式
单例模式是一种常用的设计模式,对于一个单例类,必须保证任意时刻只有一个单例对象,并且自行实例化该对象,并向整个系统提供该对象,也就是说无论实例化单例对象多少次,都只能创建出一个对象,该对象是全局的能够整个系统所访问
单例对象很像c中全局变量,单例类可以实现不同对象之间的数据共享
2.单例对象的创建方式
一般是以shared/current/default开头, 并且是类方法
3.单例模式的应用
1:单例类可以实现不同对象之间的数据共享
2:当创建一个类需要消耗很大的性能的时候
4.单例创建
//SingleClass.h文件
#import <Foundation/Foundation.h>
@interface SingleClass : NSObject
@property (copy, nonatomic)NSString *name;
//单例类提供的一种创建单例对象方法
+ (SingleClass *)sharedSingleClass;
@end
//SingleClass.m文件
#import "SingleClass.h"
//1:创建一个全局静态的单例子对象指针,初始值为nil
static SingleClass *single = nil;
@implementation SingleClass
+ (SingleClass *)sharedSingleClass{
//2:调用GCD的once方法//网络:多线程
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{//大括号里面代码在整个程序运行过程只会被执行一次//block-->代码块,代码段-->函数指针
//3:实例化single指针
single = [[SingleClass alloc] init];//第一次调用该方法的对象才能进行实例化
});
return single;//最后将实例化的对象返回//从第二次调用该方法,返回的都是第一次实例化的对象的首地址
}
@end