Il download asincrono di immagini e il caching non sono un'operazione semplice. Deve essere fatto bene altrimenti non riuscirà a sconfiggere il suo scopo. Pertanto suggerisco caldamente che alla fine tu costruisca il tuo. Detto questo, avevo bisogno di una soluzione rapida e semplice per andare avanti con lo sviluppo della mia applicazione.
ho trovato queste soluzioni:
ho provato HJCache, ma non ha offre grandi prestazioni di scorrimento quando gestione di immagini di grandi dimensioni (1,5 M +). Per le immagini piccole ha funzionato benissimo però. Ho provato entrambi i LazyTableImages ma l'integrazione non è stata semplice.
In definitiva, ho scelto SDWebImage. L'integrazione non potrebbe essere più semplice. Una volta che avete collegato la libreria al progetto tutto quello che dovete fare è:
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
nel vostro tableView:cellForRowAtIndexPath:
.
Inoltre:
- lavori con le cellule personalizzati così
- Non blocca l'interfaccia utente
- offre grandi prestazioni di scorrimento
- Immagine download e cache è senza soluzione di continuità.
[ZDS_Shared] (https://github.com/ZarraStudios/ZDS_Shared) ha una limitazione della larghezza di banda ma nessuna richiesta sincrona (ovvero restituisce nil per una risorsa quando la memorizzazione nella cache è in sospeso). Funziona con le code di operazioni quindi suppongo che potresti aggiungere una chiamata con NSInvocation per questo. – Jano