Você está na página 1de 3

Ios - Capitulo 3 MVC - Model View Controller Model: Acesso aos dados da aplicao.

View: telas e controles de interao com o usurio. Controller: Liga o Model ao vier e tem a lgica para lidar com a interao do usurio. Cocoa Touch: View: Interface Builder. Model: Classes de Objective C. Controller: Classes criadas ou alteradas pelo criador do programa.

Programando: UIViewController: Classe generica. Entrega um monte de funcionalidades. Faz parte do UIKit. Interao entre cdigo e parte grfica: Outlet O outlet aponta para um parte da vier e pode fazer alteraes nela. Ex: Alterar um label de texto a partir do grfico (Outlet declarado e apontando para o babel, possvel chamar o outlet de dentro do cdigo e alterar o label). A alterao pode ser feita na ordem inversa tambm. Da parte grfica para o cdigo. Mas quem atua nesse sentido no o outlet e sim um tipo especial de mtodo, chamado action metidos. Ex: Quando um boto for clicado na view, uma action metido ir chamar o cdigo para fazer alguma ao (mudar o babel, abrir uma pgina, mostrar um resultado).

Outlets: Declarao: IBOutlet UIButton *myButton; IBOutlet = Interface Builder Outlet Actions: Parte da classe de controle. Actions no retornam valores. IBAction mostra ao Interface Builder que o mtodo uma action e pode ativar por um controle. Declarao: (IBAction)doSomething:(id)sender; Sender -> referencia ao objeto que ativa a action? Ou referencia ao elemento que vai sofrer o resultado da action? O parmetro passado em um action method o controle ou objeto que invocam o mtodo (no caso do programa exemplo, os botes). A declarao pode ser sem a parte do sender. (IBAction)doSomething

possvel criar uma action que alterer diversos objetos. Cdigo Button_FunViewController.h
@property (retain, nonatomic) UILabel *statusText; @property entra no lugar de getters and setores. @property combinado com @synthesize, fala para o compilador criar os getters e setores em tempo de compilao. Os attributes dentro do @property define comma os gets e sets sero criados. retain: manda uma mensagem para todos os objetos ligados a esse propriedade. Evita que a varivel seja apagada da memria. nonatomic: por padre, os get e sets so gerados com cdigos para tratar multi-task. Para evitar esse cdigo a mais, usado o nonatomic. Se para multi-tasking, nos ios atuais a propriedade nonatomic no deve ser usada? Estados de Controle: Normal: ativo mas no usado (UIControlStateNormal). Highlighted: em uso. Disabled: Desabilitado e no pode ser usado. Selected: Atualmente selecionado. No programa exemplo usado para pegar o ttulo do boto na linha: NSString *title = [sender titleForState:UIControlStateNormal]; Application Delegate: Delegate: clases que se tornam responsveis por fazer algumas tarefas em nome de outros objetos. Application delegate nos deixa tarefas com tempos predeterminados em nome do UIApplication. Todo programa de Iphone tem somente um UIApplication que responsvel por rodar o loop da aplicao e lidar com funcionalidade da aplicao, como rotear as entradas do usurio para o controller correto. UIApplication faz parte do UIKIT. Durante a execuo de um programa, em perodos de tempo pr-definidos, o UIApplication ir chamar algum delegate methods. @interface Button_FunAppDelegate : NSObject <UIApplicationDelegate> //A interface Button_FunAppDelegate similar, segue os padres do UIApplicationDelegate. Captulo 4

Tipos de controles Ativos - botes Passivos - campos de texto Estticos - Label Todos os controles so subclasses de UIContro e so capazes de chamar um Action method. Problema do livro: Ao criar o boto invisvel para tirar o teclado da tela, lembrar de conectar o file's owner aos textFields. Action Sheet: Avisos ao usurio para confirmar aes.

Você também pode gostar