Tengo un archivo .xib que contiene una UIView y 2 subvistas de UILabel vinculadas a una clase llamada Nota con las tomas asignadas a cada etiqueta de forma adecuada, la definición de esta clase contiene lo siguiente.¿Debo liberar IBOutlets cuando uso loadNibNamed: method?
@interface Note : UIView {
IBOutlet UILabel *time;
IBOutlet UILabel *content;
}
estoy construyendo esto con el siguiente código
NSArray* nibViews = [[NSBundle mainBundle] loadNibNamed:@"Note" owner:self options:nil];
note = [nibViews lastObject];
[self addSubview:note];
Ahora, en mi nota de fase dealloc clase, no estoy liberando el tiempo o el contenido, pero me pregunto si debería ?
- (void)dealloc {
[super dealloc];
}
Asumo no lo hago porque no estoy reteniendo explícitamente estos objetos en cualquier parte de mi código, y no me sintetizar estos en getter/setters. Pero no sé lo suficiente sobre el descifrado de las nib para saber si debería liberarlas en mi fase dealloc o no.
¿Cómo que no puedo garantizar será el último objeto? ¿Quiere decir que es posible ordenar el nivel superior de un plumín en el orden que desee, o que en el momento de la desinstalación, el orden puede cambiarse de lo que aparece en el constructor de interfaz? – seanalltogether
No se garantiza el orden al desarchivar. Por ejemplo, entre iPhone OS 2.1 y 2.2 una sola UITableViewCell coloca en un xib cuando se carga fue devuelto en diferentes posiciones dentro de la matriz (incluso con sólo un único objeto que hay más de un elemento en la matriz devuelta por loadNibNamed). –