Pregunta

Aquí estoy creando una aplicación para iPhone usando la API de Facebook.He cargado la lista de amigos y sus fotos de perfil en una vista de tabla.Pero ahora va despacio.Quiero acelerar la carga de las imágenes, ¿cómo puedo hacerlo?

Aquí está mi código de muestra:

- (void)request:(FBRequest*)request didLoad:(id)result { 
    NSArray* users = result; 
    for (int ndx = 0; ndx < [users count] ; ndx++)
    {
        NSDictionary* user = [users objectAtIndex:ndx]; 
        NSString* name = [user objectForKey:@"name"];
        NSString *imageName = [user objectForKey:@"pic_big"];
        [imageArray addObject:imageName];
        [friendsList addObject:name];
    }
}

En el método de delegado de tableview:

imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString: [imageArray objectAtIndex:indexPath.row]]];
        image = [[UIImage alloc] initWithData:imageData];

        cell.imageView.image =image;

Y también los tamaños de las imágenes son diferentes. Por favor ayuda gracias

¿Fue útil?

Solución

Al utilizar el concepto de carga diferida, puede hacer que se ejecute rápidamente.
Simplemente descargue esta clase para la carga diferida.

Es muy fácil de instalar.

 #import "UIImageView+WebCache.h"  // Import this

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
     ------------------ 
     ------------------
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]  placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

    cell.textLabel.text = @"My Text";
    return cell;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top