tem acesso arquivos ou memória externa • OpenGL ES, aceleração gráfica • Não há paginação de memória para disco • Seu app é notificado quando há pouca memória • Não há garbage collection
7 Apps for iPhone and iPad • Ray Wenderlich Tutorials for iPhone / iOS Developers and Gamers: http://www.raywenderlich.com/ • Diversos materiais na Internet
@end interface pública superclasse arquivo onde está declarada a classe UIViewController! arquivo da SDK Todo arquivo que referencia AloViewController deve #importar o arquivo AloViewController.h (ou um arquivo que #importe ele)
! @implementation AloViewController ! ! ! ! ! ! ! ! ! ! ! ! ! @end arquivo do seu projeto onde está declarada a classe AloViewController interface privada implementação
! @implementation AloViewController ! - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, // typically from a nib. } ! - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be // recreated. } ! @end definição do método viewDidLoad chamada ao método da superclasse tipo do retorno método de! instância! (se for estático,! troca por +)
[calc dizAlo]; int a = [calc quadradoDe:3]; int b = [calc produtoDe:2 por:3]); ! calc = nil; chama o método init no resultado de [Teste alloc] alloc aloca a memória! init é o construtor
o que foi alterado desde o último commit • Se fizer besteira no código, é fácil voltar para o estado anterior • Você pode olhar o histórico completo de mudanças e ver como implementou cada funcionalidade
Ponteiros strong e weak • Quando não houver nenhum ponteiro strong para um objeto, ele é desalocado • Se você quer garantir que o objeto não será desalocado, crie um ponteiro strong para ele • Quando um objeto é desalocado, todas os ponteiros weak são atualizados para nil. • Evita ponteiros para objetos desalocados
UITextView, uma tarefa por linha do UITextView • Atualiza tela a partir de elementos em um NSArray fixo • Permite adicionar itens através do botão • Refatora: cria classe ListaTarefas, implementando testes antes. • Adiciona persistência com NSUserDefaults; adiciona teste antes • Por fim: table; depois nav; então web.
o dispositivo para iPad. A interface não se adapta. • A interface congela enquanto baixa tarefas. • A lista de tarefas é toda carregada na memória; a cada mudança, é preciso escrever toda a lista em disco.