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!

Animação fadeIn com UIView

Posted on setembro 13, 2012

Posted by Pedro

Um exemplo simples para realizar a animação de um UIView.

Básicamente criamos uma instancia da Classe UIView e adicionamos ela a ViewController. Após isso aplicamos uma animação de fadein de 2.0 segundos.

Importante lembrar que esse código deve ir dentro do método - (void)viewDidLoad do ViewController

Obs: Isso é um exemplo simples, pois você pode usar diversas outras propriedades que também irá funcionar, como por exemplo: frame, alpha, transform (bastante usado em caso de animação 3D). Outras opções também podem ser adicionadas a animação, como por exemplo um seletor para quando terminar a animação, para quando iniciar a animação, EasyIn, EasyOut, transição, etc.



UIView *minhaView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)] autorelease];
minhaView.backgroundColor = [UIColor redColor];

[self.view addSubview:minhaView];

minhaView.alpha = 0.0;

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2.0];

minhaView.alpha = 1.0;

[UIView commitAnimations];



Até a próxima galera!