Escolar Documentos
Profissional Documentos
Cultura Documentos
• Tópicos
• Ambiente Mac OS X
Sistema Operacional proprietário da Apple
O iOS é baseado diretamente no Mac OS X
Baseado em um sistema BSD/UNIX - NeXT (NeXTStep)
• Ambiente Mac OS X
Buscar SDK (iOS SDK), abrir, ambientar-se...
• Xcode (IDE)
• Interface Builder
• Instruments
• Sistemas
Versão atual: iOS 4 (4.2.1) - beta iOS 4.3
• SDK
Versão atual: 3.2 (3.2.5) - preview 4
• Dispositivo (device)
Apenas com certificado
• Simulador (simulator)
• Cocoa Touch: Multitasking, Data Protection, Apple Push Notification Service, Local
Notifications, Gesture Recognizers, File-Sharing Support, Peer to Peer Services, Standard
System View Controllers, External Display Support...
• Frameworks: Address Book, Event Kit, Game Kit, Map Kit, Message UI, iAd, UIKit,
entre outros (crescendo...)
• Media: Gráficos (Core Graphics, Core Animation, OpenGL ES, Core Text,
Assets, entre outros), Áudio (Media Player, AV Foundation, OpenAL, Core Audio),
Vídeo (Media Player, AV Foundation, Core Media)
• Endereço: http://developer.apple.com
• Gerenciamento de memória
- (void)incrementaPreco:(float)quanto;
- (void)incrementaPrecoComNumber:(NSNumber *)quanto;
- (float)precoTotal;
+ (NSString *)formataNome:(Produto *)produto;
@end
• Classe: Produto
• Exemplo: UITextFieldDelegate
• incrementaPrecoComJuros(preco, juros)
- (void)incrementaPreco:(float)quanto;
- (float)precoTotal;
+ (NSString *)formataNome:(Produto *)produto;
@end
@implementation Produto
- (void)incrementaPreco:(float)quanto
{
preco = preco + quanto;
}
- (float)precoTotal
{
return preco;
}
@end
[produto1 incrementaPreco:10.0];
• Dicas de nomes/escrita:
• Não empilhe muitos [[[[ ... ] ... ] ... ] ... ] (difícil de ler/depurar)
id objeto;
objeto = produto3;
@end
@implementation Produto
...
@end
produto1.nome = @”Doritos”;
produto1.preco = 2.75;
[produtos addObject:produto1];
[produto1 release];
[produto1 retain];
[produto1 release];
[pool release];
[objeto autorelease];
- (NSArray *) allProducts
{
NSMutableArray *retorno = [NSMutableArray new];
for (Produto *produto in [produtos allValues])
{
[retorno addObject:produto];
}
• NSDictionary
• NSDate
• NSData ...
• No fundo, tem tudo de C: enum, structs, etc