2011-01-14 5 views

Respuesta

10

Yes.Once se llama, ese punto de vista también se libera de la memoria ...

Si desea confirmar con la documentación de Apple Aquí está el enlace

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIView_Class/UIView/UIView.html

Saludos

+7

Esta respuesta no debería ser la "mejor respuesta", ya que no es del todo correcta. Depende si el UIView ha sido retenido un poco más. ¡La segunda respuesta es mejor para explicar todos los detalles! –

37

UIView conserva sus subvistas, por lo que cuando llame al método -removeFromSuperview, se liberará su objeto de vista.

Así que si todo lo demás está bien con su gestión de memoria y su vista no es retenida por otra cosa, entonces sí, su vista debe ser desasignada y eliminada de la memoria.

Posible ejemplo cuando eliminar simplemente la vista de la supervista puede no ser suficiente para desasignarlo puede ser vista que tiene conexión de salida y propiedad declarada para ella con el atributo de retención - en ese caso el controlador la conserva cuando se carga desde la punta archiva y puede que tenga que liberar esa vista para ese caso: método removeFromSuperView

[iVarView removeFromSuperview]; 
self.iVarView = nil; 
+3

La gran excepción es si la vista se quita es administrado por un controlador de vista secundario, entonces ese controlador de vista también debe liberar a la vista antes de que pueda ser removido de la memoria. – PeyloW

+0

@Peylo, sí, lo que quise decir con "ok con gestión de memoria", pero no era una buena frase, parece – Vladimir

Cuestiones relacionadas