Como usar o padrão de ação-alvo em seu aplicativo ios

Uma exigência de uma interface de usuário de aplicativo iOS é ser capaz de lidar com situações em que você deseja conectar um botão ao seu código para que quando um usuário tocar no botão, algo acontece. Este requisito envolve o uso do padrão meta-ação, que é um dos padrões de projeto-chave na programação iOS.

Você usa o padrão de ação de destino para deixar seu aplicativo sabe que ele deve fazer algo quando solicitado. Um usuário pode tocar em um botão ou digite algum texto, por exemplo, e o aplicativo deve responder de alguma forma. O controle envia uma mensagem (a mensagem Ação) que você especificar para o alvo (o objeto receptor, que é geralmente um objeto controlador de vista) que você selecionou para lidar com essa ação em particular.

Quando um usuário atua no controle por, digamos, batendo um botão, o iPhone ou iPad gera um evento. O evento accionando uma mensagem de ação particular pode ser qualquer coisa, assim como o objeto de enviar a mensagem pode ser qualquer objeto. Um objeto gesto-reconhecedor pode enviar uma mensagem de ação para outro objeto quando ele reconhece seu gesto. No entanto, o padrão-alvo Ação é normalmente encontrado com controles como botões e controles deslizantes.

O evento, como tal, provavelmente não lhe diz muito, mas Alvo-ação fornece uma maneira de enviar uma instrução específica de aplicativo para o objeto apropriado.

Se você queria desenvolver um aplicativo que poderia começar um carro de um dispositivo iOS (não é uma má ideia para aqueles que vivem em um lugar como Hibbing, Minnesota no inverno), você pode exibir dois botões, Iniciar e aquecedor. Você poderia usar Interface Builder para especificar que quando o usuário toca em Iniciar, o alvo é a CarController objeto e o método é para invocar ignição.

O mecanismo Alvo-ação permite que você crie um objeto de controle e dizer-lhe não só o que objeto que você deseja manipular o evento, mas também a mensagem para enviar. Por exemplo, se o usuário toca um botão na tela de toque de campainha, você quer enviar uma mensagem de toque de campainha para o controlador de vista.

Mas se o botão Bandeira Onda na mesma tela é tocada, você quer ser capaz de enviar a mensagem Bandeira Wave para o mesmo controlador de vista. Se você não poderia especificar a mensagem, todos os botões teria que enviar a mesma mensagem.



Seria, então, fazer a codificação mais difícil e mais complexo, porque você teria que identificar qual botão enviou a mensagem eo que fazer em resposta. Ele também faria mudar a interface do usuário mais trabalho e mais propenso a erros.

Você define a ação de um controle e alvo usando Interface Builder. Você começa a especificar qual método - no qual objeto - deve responder a um controle sem ter que escrever qualquer código.

Os métodos de ação tem um certo assinatura (Formato, em outras palavras):

- (IBAction) TestDrive: (id)-remetente

O qualificador de tipo IBAction, que é usado em lugar do vazio tipo de retorno, bandeiras do método declarado como uma ação para que Interface Builder está ciente disso. E assim como com tomadas, você pode realmente fazer as conexões no editor de Interface Builder, e Xcode irá gerar o código necessário para você.

o remetente parâmetro é o objeto de controle enviando a mensagem de ação. Ao responder a uma mensagem de ação, você pode consultar o remetente para obter mais informações sobre o contexto do evento provocando a mensagem de ação.

Você pode definir a ação e alvo de um objeto de controle de programação ou no Interface Builder. A definição destas propriedades eficazmente associa o controlo e o seu objectivo através da acção. Se você conectar um controle e seu alvo na Interface Builder, a conexão é arquivado em um arquivo nib. Quando um aplicativo depois carrega o arquivo nib, a conexão for restaurada.

IBAction é como IBOutlet- ele não faz nada no código, mas sim é uma tag usada por Interface Builder.


Publicações relacionadas