OC -- 单例设计模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OC -- 单例设计模式相关的知识,希望对你有一定的参考价值。
#import <Foundation/Foundation.h>
@interface Person : NSObject
+ (instancetype)sharePerson;
@end
@implementation Person
+ (instancetype)sharePerson{
Person *p = [[Person alloc] init];
return p;
}
static Person *_instance;
+ (instancetype)allocWithZone:(struct _NSZone *)zone{
if(_instance == nil){
_instance = [[super allocWithZone:zone] init];
}
return _instance;
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *p1 = [[Person alloc] init];
Person *p2 = [Person new];
Person *p3 = [Person sharePerson];
// 如果打印出的3个地址一样,说明单例设计成功
NSLog(@"%p --- %p --- %p", p1, p2, p3);
}
return 0;
}
以上是关于OC -- 单例设计模式的主要内容,如果未能解决你的问题,请参考以下文章