Objota O mundo orientado a objetos

Classe com o Design Pattern Singleton no Objective-C

Posted on setembro 13, 2012

Posted by Pedro

Galera segue ai um exemplo simples para quem tem dúvidas de como criar uma classe no Design Pattern Singleton utilizando Objective-C.


//arquivo Exemplo.h

@interface Exemplo : NSObject {
    
    NSInteger propriedade;
    
}

@property(nonatomic, assign) NSInteger propriedade;

+ (Exemplo *)shared;

@end

Abaixo o código do arquivo Exemplo.m


//arquivo Exemplo.m

#import "Exemplo.h"

static Exemplo *_shared = nil;

@implementation Exemplo

@synthesize propriedade;

+ (Exemplo *)shared {
    
	if(_shared == nil){
		
		@synchronized([Exemplo class]){
			_shared = [[Exemplo alloc] init];
		}
		
	}
	
	return _shared;
	
}

- (id)init{
    
    self = [super init];
    
    if (self) {
        propriedade = 10;
    }
    
    return self;
    
}

@end


//Chamando o objeto estático

[Exemplo shared].propriedade = 20;

Espero que seja útil pra vocês. Até a próxima!