Асинхронные данные в UITableView - PullRequest
0 голосов
/ 02 июня 2011
// Customize the appearance of table view cells.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"celluleConnecte";

    celluleConnecte *cell = (celluleConnecte *)  [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {

        UIViewController *vue = [[UIViewController alloc] initWithNibName:@"celluleConnecte" bundle:nil];

        cell = (celluleConnecte *)vue.view;
        [vue release];
    }
    else {
        asyncImageView* oldImage = (asyncImageView*)
        [cell.contentView viewWithTag:999];
        [oldImage removeFromSuperview];
    }


    // Configure the cell.

    NSDictionary *dico = [self.pseudoOnline objectAtIndex:indexPath.row];

     cell.pseudo.text = [dico objectForKey:@"name"];
     cell.sexe.text = [dico objectForKey:@"sexe"];

    CGRect frame;

    frame.size.width=70; frame.size.height=70;

    frame.origin.x=5; frame.origin.y=10;

    asyncImageView *asyncImage = [[[asyncImageView alloc] initWithFrame:frame] autorelease];

    asyncImage.tag =999;


    [asyncImage loadImageFromURL:[NSURL URLWithString:[dico objectForKey:@"photo"]]];
    [cell.contentView addSubview:asyncImage];

     return cell;

}

1 Ответ

1 голос
/ 02 июня 2011

это потому, что вы загружаете изображение прямо в ячейку, это неправильно.Создайте новый класс UIImageView и загрузите туда фотографии, используя NSData.Есть много примеров через Интернет.Вот сначала я нашел markj.net/wp/wp-content/uploads/2009/02/asyncimageview.m

...