2010-07-26 11 views
11

Si tengo un UIView, y agrego una subvista asignada en él (en este caso, el UIImageView), cuando publico el UIView, ¿también se lanzará UIImageView?¿La publicación de UIView libera todas sus subvistas?

puedo configurar mi punto de vista y una vista secundaria de esta manera:

UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; 
UIImage *myImage=[UIImage imageNamed:@"image.png"]; 

// This is the subview: 
UIImageView *imageView=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; 
imageView.image=myImage; 

[view addSubview:imageView]; 
[imageView release]; 

Ahora, cuando llamo:

[view removeFromSuperview]; 
[view release]; 

¿El imageView asignado también ser liberados, o debería quitarlo mediante la eliminación todas las subvistas de la vista?

Cualquier idea sobre este tema es muy apreciada.

Respuesta

13

Sí. UIView "posee" las subvistas, por lo que las libera cuando se destraban.

+4

... lo que no quiere decir que las subvistas se traten, ya que pueden ser retenidas por otra cosa (o varias cosas más). –

Cuestiones relacionadas