O que são o proprietário do arquivo e o primeiro respondente no iOS - Xcode?
Respostas:
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.