2009-04-17 24 views
14

Cuando hago una aplicación de muestra (es decir, comienzo con una aplicación de barra de pestañas o algo así), en mi archivo MainWindow.xib veo 5 elementos enumerados: Propietario del archivo, Primer Respondedor, Delegado de la Aplicación , Ventana y Controlador de barra de pestañas.iPhone Interface Builder y Delegados

Si hago otro archivo .xib, y hago un delegado para él, y configuro ese propietario del archivo para mi nuevo delegado que acabo de crear, NO veo "NewDelegateFile" en la lista de ... objetos (?) para ese .xib.

Esto no tiene sentido para mí, y creo que es una gran parte de por qué no me estoy dando cuenta de todo lo que rápidamente al desarrollo de iPhone.

¿Alguien se toma el tiempo de explicarme esa pequeña peculiaridad?

+1

Le hice casi la misma pregunta nuevamente http://stackoverflow.com/questions/1911916/placeholder-objects-in-interface-builder. Estas respuestas deberían proporcionar más detalles y ser menos confusos. – Casebash

Respuesta

24

El propietario del archivo no es un objeto real en el archivo xib. Es un objeto proxy. Representa el objeto que se convertirá en el propietario del xib cuando se cargue. El Primer Respondedor y el Delegado de Aplicación también son apoderados. El primer respondedor es el objeto actualmente en la parte superior de la cadena de respuesta. Cuando el estado de la aplicación cambia, otro objeto puede ser el primer respondedor. Utiliza este objeto proxy para conectar cosas como el menú Archivo-> Guardar a cualquier objeto que sea responsable de manejarlo en un momento dado.

El delegado de la aplicación es un objeto real. Comienza a vivir cuando se carga el xib. Como puede ver en Interface Builder, está conectado a la salida de delegado del propietario del archivo. La aplicación carga MainWindow.xib, por lo tanto es el propietario del archivo.

Otro archivo xib generalmente se carga a través de un objeto delegado. Ese objeto delegado es el propietario del archivo. Pero el delegado se crea una instancia del código. No está cargado desde el xib. Es por eso que no se muestra en Interface Builder.

Los archivos xib contienen objetos serializados reales. El propietario del archivo y el Primer Respondedor son excepciones. Representan algún otro objeto ya existente.

El propietario del archivo (a menudo un UIViewDelgate en archivos no MainWindow.xib) es el pollo. El xib es el huevo. El pollo en sí no está contenido en el huevo.

Un poco largo. Espero eso ayude.

+1

No estaba ignorando esta respuesta. Me llevó días jugar y leer una y otra vez para entenderlo. Y creo que sí, ahora. Muchas gracias. Es un poco inconsistente con lo que mi mente piensa que debería ser, pero seguiré haciendo que mi cabeza intente pensar de esta manera. Muchas gracias por su respuesta. –

Cuestiones relacionadas