UITableView
Kaydırma performansıyla ilgili herhangi bir sorun , diğer yanıtlarda zaten açıklanan teknikler kullanılarak çözülebilir. Bununla birlikte, çoğu zaman yavaş performans, doğası gereği hatalı veya tekrarlayan bir şeyden kaynaklanır.
Aslında UITableView
hücrelerini ve her hücre kendi imajını gerekebilir gerçeğini yeniden kullanır - Birlikte çözüm karmaşık bit yapar. Genel olarak nasıl çözüldüğünden, burada dikkat edilmesi gereken şeyleri özetliyorum:
- Verileri veri kaynağına yükleyin - REST / veritabanından. Bu adım, sonunda GCD kuyruğuyla birlikte dispatch_async kullanılarak arka planda yapılmalıdır.
- İlgili veri modeli nesnelerini oluşturun ve başlatın ve bunları bir dizinin içine yerleştirin
[tableView reloaddata]
- İçeride
cellForRowAtIndexPath
, dizinin doğru veri modeli nesnesinden verileri (metin) ayarlayacak kodu ekleyin.
- Şimdi resimler de URL biçiminde olabilir, bu nedenle bu adım, tablo görünümü tarafından yapılan hücre yeniden kullanımı nedeniyle biraz tuhaf olabilir. İşin özü, eşzamansız sırayı kullanarak aygıt önbelleğinden / URL'den görüntüyü bir kez daha yüklemek, ardından doğru hücre.image (hücre görüntü özelliğiniz ne olursa olsun) olarak ayarlamaktır.
Sorunları önlemek için, tablo görünümünde resimlerin geç yüklenmesi hakkındaki bu eğiticiye bakın .