Вступить в клуб →
лёгкаявопросПроизводительность и Instruments

Каждая ячейка ленты создаётся через init — память растёт при прокрутке

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = ProductCell(style: .default, reuseIdentifier: "ProductCell")
    cell.configure(with: products[indexPath.row])
    return cell
}

В ленте 3000 товаров. При прокрутке растёт потребление памяти и процессора, скролл подтормаживает. Что исправить?

  • Брать ячейки через dequeueReusableCell
  • Заменить UITableView на UIScrollView
  • Создавать все 3000 ячеек заранее
  • Вызывать reloadData после каждого экрана

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела