AVISO: Cualquier pregunta que no cumpla ninguno de estos criterios podrá ser borrada sin previo aviso.

Buenas,

Tengo un UITableView con una imagen en cada una de las celdas. Quiero puedo aprovechar esta imagen ya cargada para la vista de detalle de la persona que cargo después. He intentado lo siguiente y funciona, pero no estoy seguro de que sea correcto:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    // Creo la nueva vista para mostrar el detalle
    NSInteger row = [indexPath row];

    if (self.entrevistasDetailViewController == nil){
        EntrevistasDetailViewController *entrevistasDetail = [[EntrevistasDetailViewController alloc] initWithNibName:@"EntrevistasDetailView" bundle:nil];
        self.entrevistasDetailViewController = entrevistasDetail;
        [entrevistasDetail release];        
    }

    // Muestro la nueva vista
    entrevistasAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
    [delegate.entrevistasNavController pushViewController:entrevistasDetailViewController animated:YES];

    // Informo la imagen
    if (entrevistadoSeleccionado.imagenPerfil){
        [entrevistasDetailViewController.imagenPerfil setImage:entrevistadoSeleccionado.imagenPerfil];
        entrevistasDetailViewController.imagenPerfil.layer.borderWidth = 1.0f;
        entrevistasDetailViewController.imagenPerfil.layer.borderColor = [[UIColor blackColor] CGColor];
        entrevistasDetailViewController.imagenPerfil.layer.cornerRadius = 5.0f;
        entrevistasDetailViewController.imagenPerfil.layer.backgroundColor = [UIColor whiteColor].CGColor;
    }

}

Si informo la imagen de Perfil antes de hacer el pushViewController, la primera vez que pulso no me muestra la imagen, a partir de la segunda vez si.

Gracias y un saludo

preguntado 26 May '11, 10:23

RicardSole's gravatar image

RicardSole
6234


Mi recomendación para "aprovechar" la imagen es que muevas esa lógica a un controlador que se encargue de obtener la imagen y cachearla. Si decides hacerlo así, busca código open source que haga justo eso por que es un problema más que resuelto.

Si las imágenes están en el bundle de la aplicación no veo necesidad de cachear ni reutilizar. Ya lo hace iOS.

enlace permanente

respondido 26 May '11, 14:46

madmw's gravatar image

madmw
251111

Tu respuesta:
Activar/desactivar vista previa