Por desgracia, la explicación del propietario del archivo es bastante corto en la documentación de Apple. Sé que es un objeto proxy. ¿Pero cuál es realmente el punto sobre ese objeto "Propietario del archivo"? ¿Para que sirve?Lo que describe el "Manual de Archivo" mejor en Objective-C/plumilla de cacao?
Respuesta
http://www.cocoadev.com/index.pl?FilesOwner
En esencia, el que sea objeto cargado el NibFile se convierte en el propietario del archivo para ese archivo semilla.
Esto es incorrecto. Ver http://crazyviraj.blogspot.com/2009/05/cocoa-what-is-files-owner-in-nib.html – psychotik
Sé que es un objeto proxy.
No lo es. Es un objeto real. El icono en la punta es un proxy sólo en el sentido de que todos los demás iconos representan objetos archivados en la punta, y el propietario del archivo no lo es. Pero el FO no es un objeto proxy en su aplicación.
Pero, ¿de qué sirve el objeto "Propietario del archivo"? ¿Para que sirve?
Es el objeto que posee los objetos en la punta.
Eso es todo. Nada más que eso.
Gracias. Entonces, ¿todos los objetos de nivel superior en la punta son propiedades del objeto propietario del archivo? ¿Dónde está la clase del objeto Dueño del archivo? ¿Dónde puedo verlo? – Thanks
Seleccione el propietario del archivo en IB, luego Command-6. Tendrá la sección Identidad de clase que le permitirá configurar la clase para el propietario del archivo. – sbooth
No necesariamente. Puede hacer que el Propietario del archivo sea felizmente inconsciente del contenido de su plumilla si lo desea. Para esto están los puntos de venta: contar un objeto sobre otros objetos. Debe darle al FO al menos una salida a un objeto en la punta; luego lo conectarás en IB. –
Es más fácil de entender el significado de referencia el propietario del archivo si se lee y comprender el proceso de carga punta.
marcos de cacao manejar muchas cargas para plumillas de forma automática en su nombre, con uno de Cacao propio integrado en las clases de calidad de clase controlador que gestiona, o "dueño" de los objetos instanciados del archivo semilla. Cuando cargas tus propias puntas de forma manual, puedes elegir qué clase servirá como propietario del archivo.
Cuando lea sobre el proceso de carga de la punta, preste atención al parámetro "owner:" en muchos de los métodos de carga. Es exactamente este objeto que se conectará a los objetos en su archivo de punta como propietario
para sumarizar eso: El propietario del archivo es exactamente ese objeto que ha instanciado/cargado el NibFile, por lo que el Nib es algo así como una propiedad de ese objeto. Entonces este objeto es el creador, así que digamos el propietario de ese NibFile. ¿Derecha? – Thanks
Eso es principalmente correcto, con la pequeña advertencia de que un objeto puede cargar/instanciar un archivo de punta sin designarse a sí mismo como el propietario. Como el propietario pasa como un parámetro para cargar un mecanismo, un objeto podría cargar un plumín, conectando otro objeto como propietario. – danielpunkass
Básicamente, cuando cargas el plumín, dices "cargar en algunos objetos desde aquí; este objeto [propietario:] los posee. "Puedes decir que los tienes, o puedes decir que otro objeto los posee; lo haces estableciendo propietario: a uno mismo o a otro objeto. –
La mejor manera de Archivo de explicarlo es con un ejemplo de cómo configurarlo. Digamos que tiene una subclase NSWindowController que es un controlador para una ventana de preferencias. La ventana de preferencias está en un NIB llamado "Preferencias".
En la subclase NSWindowController que tendría el siguiente método init:
- (id)init {
if (self = [super initWithWindowNibName:@"Preferences"]) {
//do initalisation
}
return self;
}
Esto inicializa el controlador de ventana, asociándolo con la punta en "Preferencias" nombrados en conjunto principal de la aplicación. Tenga en cuenta que el NIB aún no se ha cargado (esto sucederá cuando llame por primera vez a la ventana del controlador de la ventana.
En el NIB de Preferencias, haga clic en el icono del Propietario del Archivo y luego en el panel Información de Clase el Inspector. Aquí establecería la clase al nombre de su clase de controlador de ventana (por ejemplo, PreferencesController). Esto ahora representa una instancia de su controlador de ventana para que pueda conectar salidas y acciones.
Al editar en IB, es solo un proxy del objeto, como con cualquier objeto que arrastre al NIB, pero cuando se carga el NIB se configurará en el controlador de ventana que creó.
Los archivos de nib a menudo se conocen como "liofilizados" y listos para funcionar, y son una excelente manera de hacer que sus aplicaciones sean más modulares, lo que puede reducir el uso de memoria. Los archivos Nib se pueden descongelar o cargar en la memoria en cualquier momento cuando la aplicación necesite los objetos que contiene.
Cada vez que un archivo de punta se descongela, necesita un puntero al objeto que lo descongeló. Y ese objeto suele ser el propietario del archivo. El propietario del archivo permite que los objetos dentro del archivo nib tengan acceso a los objetos que existían antes de que el archivo de punta fuera descongelado. En cierto modo, el propietario del archivo actúa como un puente entre los objetos recién cargados y los objetos antiguos.
Gracias, buena explicación usando un buen ejemplo. –
- 1. Mejor registrador para cacao
- 2. Interfaz de cacao con el archivo GEDCOM
- 3. ¿Qué describe mejor al delegado de la aplicación? ¿Cómo encaja en todo el concepto?
- 4. Gramática sin contexto que describe expresiones regulares?
- 5. La mejor manera de medir la velocidad de descarga en iPhone usando el toque de cacao
- 6. ¿Describe el proceso de representación de página en un navegador?
- 7. Describe el comando "superior" en Android
- 8. Replicar OpenSSL smime en el iPhone/Cacao
- 9. Cacao-Touch - ¿Cómo analizar el archivo local de JSON
- 10. ¿Cuál es el mejor libro de cacao para el desarrollo de mac de escritorio?
- 11. File.Copy vs. FileStream.Write manual para copiar el archivo
- 12. Documento que describe la implementación de Lua 5.2?
- 13. Obtener el nombre de archivo y la extensión desde el archivo de ruta programáticamente cacao?
- 14. Lo que es mejor en CSS: div.algo o simplemente .algo
- 15. Salir de otras aplicaciones en el cacao
- 16. Botón de cacao que se iluminará con el mouse sobre
- 17. ¿Qué describe mejor a un "Outlet" en el objetivo-c/Cocoa?
- 18. El mejor enfoque para lo que creo que es un problema de aprendizaje automático
- 19. Ruido marrón en el cacao
- 20. aún necesita ayuda para entender por qué Ninject podría ser mejor que DI manual de
- 21. Programación de cacao, estableciendo el delegado
- 22. Guardar archivos en cacao
- 23. Combinación manual en GIT
- 24. Cacao - Cómo formatear un archivo XML
- 25. de cacao por el usuario de tamaño variable Vistas
- 26. Aplicación de cacao sin ventanas
- 27. Atajos globales de cacao?
- 28. lo que es el equivalente C# de iterador en Java
- 29. Cacao: Arrastre y suelte cualquier tipo de archivo
- 30. Error de cacao 260
Esta pregunta también trata sobre esto: http://stackoverflow.com/questions/789251/is-there-an-easy-to-understand-guide-new-to-cocoa-xcode-etc-for-interface-bui –
Para una explicación de qué es el propietario del archivo: http://crazyviraj.blogspot.com/2009/05/cocoa-what-is-files-owner-in-nib.html – psychotik