2009-12-31 12 views
7

Zaimplementowałem obciążenie leniwego obrazu dla mojego UITableView za pomocą NSUrlConnection. Wszystko działa bardzo ładnie. Kiedy otwieram swój stół, automatycznie otrzymuję obrazy, gdy czekam na sekundę (na 3G). Jednak po przewinięciu tabela ładuje nową komórkę, rozpoczyna połączenia NSURLConnection, ale po zakończeniu ładowania obrazu (w kodzie), nie są one wstawiane do widoku, dopóki tabela nie przestanie przewijać ..UITableView Lazy Image Load, obrazy pojawiają się po przewinięciu tabeli STOPS

The Aplikacja Youtube jest w stanie załadować obrazy do tabeli PODCZAS przewijania, chciałbym to zrobić również, wszelkie wskazówki/wskaźniki?

+0

Chciałbym usłyszeć odpowiedź na to również. BTW czy ładujesz każdy obraz w osobnym wątku? Pojawiają się awarie, jeśli przewijam szybko, jakieś pomysły? – natanavra

+0

Nie używam wątków (przynajmniej nie jawnie), używam NSURLConnection initWithRequest: delegate, który działa asynchronicznie .. – StijnSpijker

Odpowiedz

9

Spójrz na przykład Apple LazyTableImages.

Jeśli zażądasz asynchronicznie wszystkich obrazów w tabeli, zostaną one załadowane w momencie ich pojawienia się.

Zauważysz, że niektóre aplikacje czekają na naprawdę leniwy i oczekują tylko obrazów dla wierszy, które użytkownik aktualnie analizuje.

+2

W rzeczywistości ten przykład działa jeszcze gorzej niż mój, ponieważ uruchamia tylko wątek, aby załadować obraz po zatrzymaniu tabeli przewijanie (nawet wtedy, gdy się pojawi). Rzucam okiem na sposób, w jaki robią wątki. Moja obecna aplikacja ładuje wiersze, gdy są one dostępne, i zatrzymuje je, gdy przewiniesz obok obrazu. Jedynym problemem jest to, że nie są one wstawiane do stołu dopóki stół przestaje przewijać i nie wiem dokładnie dlaczego. Myślę, że nawet jeśli moje ładowanie obrazu przebiega asynchronicznie, to nie jest tak naprawdę w osobnym wątku, dlatego oczekuje na zatrzymanie przewijania tabeli. – StijnSpijker

+0

To prawda, ale okazało się, że próbka jest naprawdę dobrze zrobiona. Zrobiłem to naprawdę dobrze z drobnymi poprawkami. – Echilon

Powiązane problemy