码迷,mamicode.com
首页 > 其他好文 > 详细

OC -- 单例设计模式

时间:2016-01-30 22:55:24      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

#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 -- 单例设计模式

标签:

原文地址:http://www.cnblogs.com/lianfu/p/5172104.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!