码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 模仿苹果编写单例

时间:2017-06-23 23:52:02      阅读:397      评论:0      收藏:0      [点我收藏+]

标签:stat   end   interface   static   type   imp   elf   编写   self   

#import <Foundation/Foundation.h>

 @interface Person : NSObject

 +(instancetype)sharePerson;

 @end

 #import "Person.h"

 @implementation Person

 static Person *_instance = nil;

 +(void)load{

    _instance = [[self alloc] init];// 已进入就调用

}

 +(instancetype)sharePerson{

    return _instance;

}

 +(instancetype)alloc{

    if (_instance) { // 禁止调用alloc

     NSException *exception =    [NSException  exceptionWithName:NSInternalInconsistencyException reason:@"There can only be on Person instance" userInfo:@{}];

        [exception raise];// 抛出异常

    }

    return [super alloc];

}

 @end

iOS 模仿苹果编写单例

标签:stat   end   interface   static   type   imp   elf   编写   self   

原文地址:http://www.cnblogs.com/1018475062qq/p/7071878.html

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