У меня есть UITableView и пользовательские ячейки на нем. В ячейке у меня есть UILabel, но до того, как я установил текст в UILabel, я действительно усердно работал над текстом ... например, найти текст в другом тексте, выделить некоторые слова на нем, и только после этого я установил его для метки. Поэтому, когда я просматриваю свой список, у него есть задержка из-за этой тяжелой работы. Есть идеи, как повысить производительность? Может быть, сделать всю тяжелую работу в другой теме?iPhone: плавный прокрутка через UITableView
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *)indexPath {
static NSString *customCellIdentifier =
@"CellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
customCellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomTableRow"
owner:self options:nil];
if (nib.count > 0) {
cell = self.customTableRow;
}
}
self.myLabel.text = [self giveMeTheTextThatINeed];
return cell;
}
[само giveMeTheTextThatINeed] - сделал тяжелую работу по тексту, который занимает некоторое время.
похоже, что это лучший способ. Любой учебник ho, чтобы понять это? – Jim
Действительно не так много: оберните свой метод в вызовы пула потоков: NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; [poo release] ;, если вы не используете ARC. Затем перед запуском [pool release] ;, call - (void) reloadRowsAtIndexPaths: (NSArray *) indexPaths withRowAnimation: (UITableViewRowAnimation) анимация –