¿A qué "objetos de nivel superior" se refiere Apple en la Guía de programación de administración de memoria?
Pregunta
En la Guía de programación de gestión de memoria para Cocoa Apple habla sobre objetos de nivel superior. Dicen que necesito un Outlet para cada uno de ellos.
Si hay objetos de nivel superior, No almacene en puntos de venta, sin embargo, usted debe retener la matriz devuelta por el loadNibNamed: owner: options: Método o los objetos dentro de la matriz para evitar que esos objetos sean lanzado prematuramente.
Entonces, ¿qué significan exactamente con " objeto de nivel superior " ;? Yo diría que hablan de la vista de la raíz y la ventana. ¿Qué más? ¿Y esta sugerencia es solo para los casos en los que me gustaría cargar su plumilla manualmente? ¿O se aplica a cualquier plumilla y en cualquier caso?
Solución
Los objetos de nivel superior son objetos que aparecen en la ventana principal de la plumilla en Interface Builder, aparte del propietario y la aplicación del archivo #
Otros consejos
Sí, se trata de los casos en los que carga el Nib manualmente, de lo contrario no habría llamado a loadNibNamed: owner: options: .
Los objetos que aparecen en la ventana con Propietario del archivo, Primer respondedor, Ver son objetos de nivel superior. Todo lo que agregue a la vista será una subvista: todas las subvistas son retenidas por su supervisión directa, por lo que no es necesario retenerlas en ningún otro lugar. La vista en sí es retenida por el controlador de vista, por lo que no es necesario retenerla.
Si agrega objetos que no se ven, o vistas que no coloca en su vista principal de inmediato (como los botones de la barra de herramientas que no se muestran actualmente), debe conservarlos, o se liberarán. Mi método preferido para hacer esto es con IBOutlets usando @property, como esto:
@property(nonatomic, retain) IBOutlet UIBarButtonItem * myButton;
Esto hace que se llame a -setMyButton: el propietario del archivo (si este código está en el propietario del archivo) y el objeto conectado a través de IB se envía para que se almacene en esta propiedad.