英语----名词性从句的混合练习(下)

#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

/*单例子*/ 

+ (instancetype)shareInstance{

     static Person *sharedInstance = nil;

    static dispatch_once_t prdictate;

    dispatch_once(&prdictate, ^{

              sharedInstance = [[Person alloc] init];

    });

    return sharedInstance;

}

 

posted on 2017-06-23 22:34  1018475062  阅读(144)  评论(0编辑  收藏  举报