2009-06-24 18 views
5

Sürekli değişen, çok fazla 'item' (250 girdiye kadar) listesine sahibim. Liste bir UITableView'da gösteriliyor.ReloadData Arandığında UITableView Çizim Sorunları

Bazı yeni girişler indirecek ve bunları bir SQLite DB'ye ekleyecek bir yoklama iş parçacığım var.

Yeni girişler geldiğinde, SQL sorgularını çalıştıran ve yeni bir girdi dizisi döndüren veri kümesini güncelleştirmek için tablo görünümü veri kaynağı nesnesini ararım.

Bu işlem tamamlandıktan sonra, tablo görünümünde -reloadData'yı arıyorum. Bu durumda, 10 vakadan yaklaşık 7'sinde, tablo görünümü, bir sonraki -reloadData çağrısı yapılıncaya kadar boş kalır (hiçbir hücre görüntülenmez ve tablonun yalnızca arka plan rengi görünür). Tablo görünümüne dokunmak (kaydırma yapmak, bir hücreyi seçmek, yeniden çizmeyi zorlayacak herhangi bir şey) yeniden görünmesini sağlar.

Tablo görünümü, IBOutlet işaretçisi ve şu anda görüntülenen hücreler, boş çizim hatasını gördüğüm zamanlarda geçerlidir, bu yüzden serbest bırakılmadıklarından eminim.

Birkaç gün boyunca bunu ayıklamaya çalışıyorum ve gerçekten de beni duvardan kaldırmaya başlıyor.

Bu konuyla ilgili herhangi bir yardım harika olabilir, teşekkürler.

cevap

19

[ myTable performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO] yapıyorsanız yardımcı olur mu?

GUI güncelleştirmelerinizi ana iş parçacığından işlemezseniz, belirttiğiniz sorun ortaya çıkabilir.

+1

Dostum, hayatımı kurtardın. Köprüden atlamak üzereydim ... Teşekkürler! – Jasarien