Como lidar com eventos, enquanto o seu aplicativo ios é execução

A maioria dos eventos enviados para um aplicativo iOS são encapsulados em um objeto de evento - uma instância da UIEvent

classe. No caso de eventos relacionados com o toque, o objeto de evento contém um ou mais objetos de toque (UITouch) Representando os dedos que estão tocando no ecrã.

Video: Hidden diagnostics app in iOS 10.3

Como o usuário coloca os dedos na tela, move-se em torno deles, e, finalmente, remove-los da tela, o sistema relata as mudanças para cada dedo no objeto de toque correspondente.

Distribuição e manipulação de eventos é o trabalho de objetos de resposta, que são instâncias do UIResponder classe. o UIApplication, UIViewController, UIWindow, e UIView classes (e sua própria AppDelegate) Todos herdam UIResponder. Depois de puxar um evento fora da fila de eventos, o aplicativo despacha esse evento para o UIWindow objeto em que ocorreu.

O objeto janela, por sua vez, encaminha o evento para sua primeira resposta, designado para ser o primeiro destinatário dos diferentes eventos de toque eventos. No caso de eventos de toque, a primeira resposta é tipicamente o objeto de exibição (UIView), Na qual o toque ocorreu. Por exemplo, um evento de toque que ocorre em um botão é entregue ao objecto botão correspondente.

Se a primeira resposta é incapaz de lidar com um evento, que encaminha o caso para a sua próxima respondedor, o qual é tipicamente uma vista principal ou controlador de vista. Se esse objeto é incapaz de lidar com o evento, que encaminha para sua próxima resposta, e assim por diante até que o evento é tratado.

Esta série de objetos de resposta ligadas é conhecido como o cadeia respondedor. Mensagens continuar viajando até a cadeia de resposta - para os objetos de resposta de nível superior, como a janela, o aplicativo, e delegado do app - até o evento ou é manuseado ou descartado.

O objeto de resposta que lida com um evento muitas vezes põe em marcha uma série de ações programáticas pelo aplicativo. A lista a seguir fornece a cronologia do que realmente acontece quando o usuário toca alguma coisa:

Video: Top 10 iOS Apps of 2016!

  1. Um objeto de evento de toque é criado em resposta ao toque do usuário.

    Video: Top 10 iOS Apps of March 2017!

    O toque de um dedo adiciona um evento de toque a fila de eventos do aplicativo, onde esse evento é encapsulado in - colocado em, em outras palavras - um UIEvent objeto. UMA UITouch objeto existe para cada dedo toca a tela, de modo que você pode acompanhar toques individuais. À medida que o usuário manipula a tela com os dedos, o sistema relata as mudanças para cada dedo na correspondente UITouch objeto.



  2. O monitor de loop de execução despacha o evento.

    Quando algo ocorre que precisa ser processado, o código de manipulação de eventos do UIApplication processa eventos de toque, enviando-os para o adequado respondedor Object - O objeto que já assinou contrato para assumir a responsabilidade de fazer algo quando um tipo específico de evento acontece (quando o usuário toca a tela, por exemplo).

    objetos de resposta podem incluir instâncias de UIApplication, UIWindow, e UIView (E qualquer uma das suas subclasses), bem como UIViewConroller (E qualquer de Está subclasses). Todas essas classes herdam UIResponder.

  3. Um objeto que responde decide como lidar com o evento.

    Video: How to Create an "Unread" Folder in the iOS Mail App

    Por exemplo, um evento de toque que ocorre com um botão em uma visão é entregue ao botão objeto. o botão objeto manipula o evento, enviando uma mensagem de ação para outro objeto - neste caso, a UIViewController objeto. Isso permite que você use objetos de botão padrão sem ter que muck em suas partes internas - você apenas dizer o botão o método que você quer ter invocado em seu alvo.

    Processando a mensagem pode resultar em alterações em um ponto de vista, uma nova visão por completo, ou algum outro tipo de mudança na interface do usuário. Quando um desses resultados ocorre, a visão e os gráficos infra-estrutura assume e processa os eventos de desenho necessários.

  4. Seu aplicativo, em seguida, retorna ao lacete prazo.

    Depois de um evento for manuseado ou descartada, o controle app passa de volta para o ciclo de execução. O circuito de corrida, em seguida, processa o próximo evento ou coloca o segmento para dormir, se ele não tem nada mais a fazer.

Mas porque a sua aplicação não está sozinho no dispositivo, ele pode ser interrompido por uma mensagem SMS, ou o usuário tocar no botão Home. Quando seu aplicativo é interrompido, você vai ter que cuidar de algumas coisas antes de controle é transferido para outra aplicação.


Publicações relacionadas