***************
单例:只能实例化出一个对象的类
是常用的设计模式之一
整个应用程序的生命周期中只实例化一次
生命周期:对象只有程序退出时才会销毁
使用场合:某一个对象会被频繁的创建销毁, 数据共享
固定写法:
① static
if (nil)
return xx;
全局变量 全局方法
①存值,全工程都能用
②封装常用方法
如何避免用alloc初始化:
+ (id)allocWithZone:(struct _NSZone *)zone;
+ (id)alloc;
调用第二个方法 的时候
如何避免release等内存管理:
重写release等内存管理的方法
oneway的意思就是不能出现return
+ (WYHttpManager *)sharedManager
{
}
+ (instancetype)allocWithZone:(struct _NSZone *)zone
{
}
- (oneway void)release
{
}
- (instancetype)retain
{
}
- (instancetype)autorelease
{
}
**********************GCD的单例************************
dispatch_once_t
单例
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{