+ (instancetype)sharedInstance { static XXX *_sharedInstance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ _sharedInstance = [[XXX alloc] init]; }); return _sharedInstance; }