O que são o proprietário do arquivo e o primeiro respondente no iOS - Xcode?


Respostas:


170

O proprietário do arquivo é um objeto de tempo de execução instanciado que possui o conteúdo de sua ponta e suas saídas / ações quando a ponta é carregada. Pode ser uma instância de qualquer classe de que você goste - dê uma olhada na guia identidade da paleta de ferramentas.

O Proprietário do arquivo é o link principal entre o código do aplicativo e o conteúdo do arquivo nib.

Por exemplo, considere que você tem uma subclasse UIViewController com um IBOutlet para um UILabel. No construtor de interface, o proprietário do arquivo será definido para a mesma classe de seu UIViewController. Quando sua ponta é carregada em tempo de execução, as ligações de saídas e ações definidas em sua ponta são vinculadas à instância de seu controlador de visualização, pois seu controlador de visualização é o proprietário.

Nibs são carregados usando:

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];

O parâmetro do proprietário é particularmente importante. Essa é a instância de tempo de execução de uma classe que possui o conteúdo (saídas, ações e objetos) do bico sendo carregado.

Esperançosamente, isso está claro. Para ver isso funcionando, crie um novo projeto de iPhone com um controlador de visualização. Abra o arquivo Nib e dê uma olhada na guia de identidade.

O primeiro respondente é simplesmente o primeiro objeto na cadeia de respondentes que pode responder a eventos. A cadeia de resposta é uma coleção de tempo de execução (ou mais precisamente uma hierarquia) de objetos que podem responder a um evento. Por exemplo, considere que você tem uma janela com uma visão e nessa visão é um campo de texto.

Se esse campo de texto tem foco, ele é conhecido como o primeiro a responder na cadeia. Portanto, se você enviar uma mensagem para o primeiro respondente, ela será enviada primeiro para o campo de texto. Se o campo de texto não puder lidar com a mensagem, ela será enviada ao próximo respondente . E o próximo. E o próximo, até chegar ao final da cadeia de resposta ou algo consumiu o evento (iirc).

Vale a pena ler sobre a cadeia de respostas - consulte a documentação da apple para obter mais informações.


1
@dannywartnaby: descrição detalhada !! +1
Jayprakash Dubey,

1
ótima explicação!
TM em
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.