iOS Delegados Tutorial

você obterá a saída Final:

demonstração do delegado

o que é delegado?

delegado é simplesmente apenas um meio de comunicação entre objetos de aplicativos iOS. Você pode pensar delegação como uma maneira simples de conectar objetos e se comunicar uns com os outros. Em outras palavras, podemos dizer que delegar permite que um objeto envie mensagem para outro objeto quando qualquer evento ocorrer. Vamos entender isso por um exemplo da vida real. Suponha que haja algum escritório com 5 contadores. Você entra no escritório e vai para o contador 1 e envia alguns detalhes nesse contador.

agora seus detalhes precisam passar por algum processo que o contador 3 sabe, mas o contador 1 não. então o contador 1 lhe dirá para esperar por algum tempo e passar seus detalhes para o contador 3 para concluir o processo. Neste caso, o contador 3 é o delegado que lida com seus eventos, que é referido pelo contador 1. Depois que o counter 3 conclui o processamento de seus dados, ele envia de volta a mensagem para o counter 1 informando que o processo foi concluído e você pode prosseguir agora.

exemplo:

você pode ter trabalhado com UIAlertViews.

e. g:

UIAlertView *alert = initWithTitle:@"Title" message:@"This is an alert view" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

o método initializer de UIAlertView tem um parâmetro chamado delegado. Definindo este parâmetro como self, o que significa que o objeto atual é responsável por lidar com todos os eventos disparados por esta instância da classe UIAlertView.

se você não quiser lidar com os Eventos, basta definir este parâmetro como nulo, conforme mostrado abaixo:

UIAlertView *alert = initWithTitle:@"Title" message:@"This is an alert view" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

se você tiver vários botões em alerta e quiser saber qual botão é tocado, poderá implementar o método abaixo definido no protocolo UIAlertViewDelegate.

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ NSLog(@"You have tapped button # %@",);}

este foi um exemplo de delegado predefinido. Mas e se quisermos criar nosso próprio delegado? Então, vamos aprender como criar seu próprio delegado:

como criar delegado definido pelo Usuário?

vamos aprender como criar delegado definido pelo usuário criando um exemplo simples passo a passo. Criaremos um exemplo para obter o nome e o sobrenome do Usuário e exibir o nome completo. Para entender o conceito de delegado, obteremos o sobrenome de ViewController diferente, onde definiremos o delegado para passar o sobrenome para o primeiro ViewController.

Passo 1 Criar projeto & Design UI

primeiro de tudo criar um novo projeto Xcode chamado DelegateDemo e salvá-lo. Ele conterá um ViewController.

agora abra o Main_iPhone.storyboard arquivo e modificá-lo como mostrado na figura abaixo:

delegatedemo

Passo 2 Criar nova Classe

Criar uma nova classe chamada LastNameViewController que vai ser uma subclasse dos UIViewController classe e atribuir essa classe para a segunda ViewController.

Etapa 3 Segue para abrir nova visualização

agora crie segue a partir do botão no primeiro ViewController para o segundo ViewController.

Passo 4 Criar protocolo em .arquivo h

agora é hora de criar seu próprio delegado. Vá para o LastNameViewController.h arquivo e modificá – lo como abaixo:

#import <UIKit/UIKit.h> @protocol LastNameViewControllerDelegate-(void)setLastName:(NSString *)lastName;@end @interface LastNameViewController : UIViewController @property (nonatomic,retain) id delegate;@property (weak, nonatomic) IBOutlet UITextField *txtLastName;- (IBAction)btnDoneTapped:(id)sender; @end

aqui, para criar seu próprio delegado, primeiro você precisa criar um protocolo e declarar os métodos necessários sem sua implementação. Em segundo lugar, você deve criar uma propriedade @ delegate. Também IBOutlet o campo de texto sobrenome como txtLastName e criar IBAction btnDoneTapped () no botão feito no segundo ViewController.

Etapa 5 Métodos de Protocolo de chamada

agora vá para LastNameViewController.m arquivo e modificar btnDoneTapped () método como abaixo:

- (IBAction)btnDoneTapped:(id)sender{ ; ; ;}

aqui, definimos o valor do sobrenome para o delegado que criamos na etapa anterior. Agora siga o próximo passo para obter esse valor no controlador de primeira visualização

ou seja, ViewController.arquivo M

Etapa 6 Defina o delegado do protocolo criado

para obter o valor do LastNameViewController.arquivo M para ViewController.m arquivo, em primeiro lugar, temos que definir o delegado para si mesmo no ViewController.arquivo M. Para definir o deleagte para si mesmo, temos que adicionar o método abaixo em ViewController.arquivo m:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ LastNameViewController *lastNameViewController = ; lastNameViewController.delegate = self;}

implementamos esse método para definir o delegado para si mesmo porque estamos carregando o LastNameViewController por meio do segue. Mas para isso você tem que modificar o ViewController.arquivo h Como mostrado abaixo.

#import "LastNameViewController.h" @interface ViewController : UIViewController

Etapa 7 implementar o método delegado

para obter o valor do sobrenome, implemente o método delegado no ViewController.m arquivo como abaixo:

-(void)setLastName:(NSString *)lastName{ NSString *fullName = ; txtFullName.text = fullName;}

se você tiver alguma dúvida relacionada aos delegados do iOS, comente-os abaixo.

espero que você tenha achado este blog útil enquanto trabalhava nos delegados do iOS. Deixe – me saber se você tiver alguma dúvida ou preocupação com o iOS, por favor, coloque um comentário aqui e nós entraremos em contato com você o mais rápido possível. Tem uma ideia do desenvolvimento de aplicativos para iPhone? O que você ainda está esperando? Entre em contato conosco agora e veja a ideia ao vivo em breve. Nossa empresa foi nomeada como uma das melhores empresas de desenvolvimento de aplicativos para iPhone na Índia.

criado em: 06 Junho 2014

Eu sou Desenvolvedor iOS. Gosto de aprender novas tecnologias. Eu acredito que qualquer tolo pode escrever código que um computador pode entender, mas bons programadores escrevem código que os humanos podem entender.

Unity-fire bullet com efeito trail

próximo POST
iOS Image Picker Controller

Deixe uma resposta

O seu endereço de email não será publicado.