HMDataTool.h#import@interface HMDataTool : NSObject+ (instancetype)sharedDataTool;@endHMDataTool.m#import "HMDataTool.h"@implementation HMDataTool// 用来保存唯一的单例对象static id _instace;+ (id)allocWithZone:(struct _NSZone *)zone{ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ _instace = [super allocWithZone:zone]; }); return _instace;}+ (instancetype)sharedDataTool{ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ _instace = [[self alloc] init]; }); return _instace;}- (id)copyWithZone:(NSZone *)zone{ return _instace;}- (oneway void)release { }- (id)retain { return self; }- (NSUInteger)retainCount { return 1;}- (id)autorelease { return self;}@end