¿A qué "objetos de nivel superior" se refiere Apple en la Guía de programación de administración de memoria?

StackOverflow https://stackoverflow.com/questions/804539

  •  03-07-2019
  •  | 
  •  

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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top