Я действительно в тупике.У меня есть таблица с uilabels и изображениями.Загрузка изображений с помощью библиотеки HJcache.Все работает отлично, но очень очень медленно, вот мой код:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *currentCellId = @"currentCell";
NSUInteger currentRow = [indexPath row];
HJManagedImageV* currentImage;
UILabel *textLabel;
UIImageView *onlineStatusView;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:currentCellId];
if (cell == nil) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:currentCellId];
currentImage = [[HJManagedImageV alloc] initWithFrame:CGRectMake(2,2,40,40)];
[currentImage setTag:999];
[cell addSubview:currentImage];
textLabel = [[UILabel alloc] initWithFrame:CGRectMake(50.0f, 2.0f, cell.frame.size.width - 50.0f, cell.frame.size.height-4.0f)];
[textLabel setTag:777];
[textLabel setFont:[UIFont boldSystemFontOfSize:12.0f]];
[cell addSubview:textLabel];
if ([[[dataArray objectAtIndex:currentRow] objectForKey:@"online"] integerValue] == 1){
onlineStatusView = [[UIImageView alloc] initWithFrame:CGRectMake(cell.frame.size.width-15.0f,
cell.frame.size.height/2,
10.0f,
10.0f)];
[onlineStatusView setTag:888];
[cell addSubview:onlineStatusView];
}
} else{
onlineStatusView = (UIImageView *)[cell viewWithTag:888];
textLabel = (UILabel *)[cell viewWithTag:777];
currentImage = (HJManagedImageV*)[cell viewWithTag:999];
[currentImage clear];
}
currentImage.url = [NSURL URLWithString:[[dataArray objectAtIndex:currentRow] objectForKey:@"image"]];
[cache manage:currentImage];
[currentImage setOpaque:YES];
currentImage = nil;
NSString *nameString = [NSString stringWithFormat:@"%@ %@",
[[dataArray objectAtIndex:currentRow] objectForKey:@"firstName"],
[[dataArray objectAtIndex:currentRow] objectForKey:@"lastName"]];
[textLabel setText:nameString];
[textLabel setOpaque:YES];
textLabel = nil;
if (onlineStatusView){
[onlineStatusView setImage:[UIImage imageNamed:@"Online@2x.png"]];
[onlineStatusView setOpaque:YES];
onlineStatusView = nil;
}
return cell;
}
Все выглядит довольно хорошо, я удалил все ненужные выделения, кэшированные изображения, но все безрезультатно.Что я делаю не так?
ps сейчас у меня около 200 строк, но ошибки начинаются, когда было 20. Думаю, моя ошибка действительно глупая.