当希望在一个应用程序中某个类的对象只能存在一个的时候就可以考虑用单例模式,通过NSObject的alloc来产生,需要确保对象的唯一性。
PlayerManager.h文件中
+ (instancetype)sharedPlayer;
PlayerManager.m文件中
+ (instancetype)sharedPlayer{ static PlayerManager *manager; //单例类的静态实例对象,因对象需要唯一性,故只能是static类型
static dispatch_once_t once;
dispatch_once(&once, ^{ //单例模式对外的唯一接口,用到的dispatch_once函数在一个应用程序内只会执行一次,且dispatch_once能确保线程安全
manager = [[PlayerManager alloc] init];
});
return manager;
}