¿Qué son File Owner y First Responder en iOS - Xcode?


Respuestas:


170

El propietario del archivo es un objeto en tiempo de ejecución instanciado que posee el contenido de su plumilla y sus salidas / acciones cuando se carga la plumilla. Puede ser una instancia de cualquier clase que desee; eche un vistazo a la pestaña de identidad de la paleta de herramientas.

El propietario del archivo es el vínculo principal entre el código de su aplicación y el contenido del archivo nib.

Por ejemplo, considere que tiene una subclase UIViewController con un IBOutlet para un UILabel. En el generador de interfaces, el propietario del archivo se establecerá en la misma clase que su UIViewController. Cuando su plumilla se carga en tiempo de ejecución, los enlaces de los puntos de venta y las acciones definidas en su plumilla están vinculados a la instancia de su controlador de vista, ya que su controlador de vista es el propietario.

Las puntas se cargan usando:

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

El parámetro propietario es particularmente importante. Esa es la instancia en tiempo de ejecución de una clase que posee el contenido (salidas, acciones y objetos) de la punta que se está cargando.

Ojalá esté claro. Para ver esto en funcionamiento, cree un nuevo proyecto de iPhone con un controlador de vista. Abra el archivo Nib y observe la pestaña de identidad.

El primer respondedor es simplemente el primer objeto en la cadena de respuesta que puede responder a los eventos. La cadena de respuesta es una colección en tiempo de ejecución (o más exactamente una jerarquía) de objetos que pueden responder a un evento. Por ejemplo, considere que tiene una ventana con una vista y en esa vista hay un campo de texto.

Si ese campo de texto tiene el foco, se lo conoce como el primer respondedor de la cadena. Entonces, si envía un mensaje al primer respondedor, se enviará primero al campo de texto. Si el campo de texto no puede manejar el mensaje, se enviará al siguiente respondedor . Y el siguiente. Y el siguiente, hasta que llegues al final de la cadena de respuesta o algo haya consumido el evento (iirc).

Vale la pena leer sobre la cadena de respuesta: consulte la documentación de Apple para obtener más información.


1
@dannywartnaby: descripción detallada !! +1
Jayprakash Dubey

1
gran explicacion!
TMen el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.