objective-c单例类实现

//Singleton类声明
#import    <Foundation/Foundation.h>

@interface    Singleton :NSObject

+(Singleton*)GetInstance;

-(void)SayHello;

@end





//Singleton类实现

#import    "Singleton.h"

@implementation    Singleton

static    Singleton    *myInstance =nil;

+(Singleton*)GetInstance{
    
    @synchronized([Singleton    class]){
        
        if(myInstance ==nil){
            
            myInstance = [[self    alloc]init];
            
        }
        
    }
    
    return    myInstance;
    
}

+(id)alloc{
    
    @synchronized([Singleton    class]){
        
        if (myInstance ==nil) {
            
            myInstance = [super    alloc];

            return myInstance;
            
        }
    }
    
    return    nil;
    
}

-(id)init{
    
    self = [super    init];
    
    if(self !=nil){
        
        NSLog(@"初始化数据");
        
    }
    
    return    self;
    
}

-(void)SayHello{
    
    NSLog(@"Hello,world!");
    
}

@end

//================================================

Main方法调用

#import    <Foundation/Foundation.h>

#import    "Singleton.h"

int    main (int    argc,const    char    * argv[])

{
    
    @autoreleasepool{
        
        Singleton    *singleton = [Singleton    GetInstance];
        
        [singleton    SayHello];
        
        singleton = [Singleton    new];
        
        [singleton    SayHello];
        
    }
    
    return    0;
    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值