单例模式在ARC和非ARC下的不同:
非ARC需要手动管理内存,需注意以下四点:
- 非ARC中(MRC),单例模式的实现(比ARC多了几个步骤)
- 实现copyWithZone:方法
+ (id)copyWithZone:(struct _NSZone *)zone
{
return _instance;
}
- 实现内存管理方法
- (id)retain { return self; }
- (NSUInteger)retainCount { return 1; }
- (oneway void)release {}
- (id)autorelease { return self; }