Domanda

Ho letto qualcosa sull'accesso a più thread su DB, ma non sono ancora sicuro per farlo per la lettura/scrittura insieme al download di rete asincrimale. Ad esempio, avrò una pagina con immagini del Web, quindi le sto recuperando dai loro URL, usando AFNETWorking ma voglio controllare prima sul mio DB e scrivere su di esso (o disco) l'immagine recuperata per un uso futuro. Quale può essere il modo migliore per farlo senza bloccare l'interfaccia utente (come quando scorre)? Se lo faccio con un singleton che legge/scrive blocca il thread principale. Grazie per qualsiasi consiglio su questo.

È stato utile?

Soluzione

AfnetWorking non è lo strumento per questo. Invece, puoi sfruttare la funzionalità integrata di NSURLCache-specificamente Fork di Sdurlcache di Peter Steinberger.

In -applicationDidFinishLaunchingWithOptions:, fare NSURLCache +setSharedCache: con un'istanza di SDURLCache (con una certa quantità di spazio su disco assegnato). Tutte le richieste fatte UIWebView (e AFNetworking, del resto) verrà automaticamente instradato NSURLCache Prima che la richiesta venga effettuata per controllare la cache. È discreto, drop-in e segue correttamente le direttive della cache e dovrebbe risolvere il tuo problema abbastanza bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top