Blockiert NSURLConnection den Haupt- / UI-Thread
Ich lade Bilder in Zellen der Tabellenansicht herunter, während sie auf dem Bildschirm angezeigt werden. Aus UX-Gründen beginne ich, die Bilder in @ herunterzulade- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
. Ich warte nicht, bis die Tabellenansicht gescrollt ist. Wenn die Tabellenzelle festgelegt ist, beginne ich mit dem Herunterladen von Bildern, die ich noch nicht habe. Sie scheinen jedoch erst dann vollständig heruntergeladen zu werden, wenn sich die Tabellenansicht nicht mehr bewegt. Sobald es sich nicht mehr bewegt, werden die Bilder fast sofort heruntergeladen.
Ist es trotzdem möglich, NSURLConnection zu verwenden, wenn es nicht vom Hauptthread der Benutzeroberfläche blockiert wird? Oder gibt es eine Möglichkeit, diese Bilder sehr schnell herunterzuladen, während die Tabellenansicht gescrollt wird.
** EDIT **
Um zu beweisen, dass NSURLConnection langsamer ist, habe ich NSThread verwendet, um einen neuen Selektor in einem anderen Thread zu trennen. Ich lade dann die Daten herunter und rufe den Haupt-Thread auf, in dem ich ein UIImage erstelle und es in der Tabellenansicht zeige. Diese Methode funktioniert VIEL schneller.
ersönlich denke ich, dass NSURLConnection in die Ereignisschleife geworfen wird, in der das UITableView-Scrollen es blockier