Masalah apa pun dengan UITableView
kinerja pengguliran dapat diselesaikan dengan menggunakan teknik yang telah dijelaskan dalam jawaban lain. Namun seringkali kinerja yang lamban disebabkan oleh sesuatu yang secara inheren keliru, atau berulang.
Fakta yang UITableView
menggunakan kembali sel, dan fakta bahwa setiap sel mungkin membutuhkan gambarnya sendiri - bersama-sama membuat solusinya agak rumit. Dari cara pemecahannya secara umum, berikut saya rangkum hal-hal yang harus diperhatikan:
- Memuat data ke dalam sumber data - dari REST / database. Langkah ini harus dilakukan di latar belakang, akhirnya menggunakan dispatch_async bersama dengan antrian GCD.
- Membuat dan menginisialisasi objek model data yang relevan dan meletakkannya di dalam array
[tableView reloaddata]
- Di dalamnya
cellForRowAtIndexPath
, masukkan kode yang akan mengatur data (teks) dari objek model data yang benar dari array.
- Sekarang gambar mungkin dalam bentuk URL juga, jadi langkah ini mungkin sedikit aneh karena penggunaan ulang sel dilakukan oleh tampilan tabel. Inti dari fakta ini adalah memuat sekali lagi gambar dari cache perangkat / URL menggunakan antrian async, lalu mengaturnya ke cell.image yang benar (apa pun properti gambar sel Anda).
Untuk menghindari masalah, lihat tutorial ini tentang pemuatan lambat gambar di dalam tampilan tabel.