Новое решение iOS7 +, оптимизированное для плавной прокрутки
Вы уже можете видеть старые решения, но поскольку огромное количество приложений будет продолжаться, только iOS7 + поддержка здесь - это более оптимизированное и правильное решение.
Инициализация ячейки
Чтобы инициализировать ячейку, просто позвоните dequeueReusableCellWithIdentifier
, и системы iOS7 + достаточно умны, чтобы справиться, если cell == nil
или нет. Если во время ожидания ячейки нет, система автоматически создаст ячейку для вас.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellIdentifier" forIndexPath:indexPath];
return cell;
}
Конфигурация ячейки
Затем выполните всю конфигурацию ячейки методом willDisplayCell
. Просто создайте один метод в вашем классе, который настраивает ячейку, и вы получаете лучшую производительность!
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
[self configureCell:cell forRowAtIndexPath:indexPath];
}
- (void)configureCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath {
// Configure your cell
}