Каждая ячейка ленты создаётся через 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 после каждого экрана
