Sto scaricando un db SQLite dal web nella mia app per iPad. Se lo scrivo sull'impostazione del disco atomically: YES
non riesco a usarlo immediatamente perché anche se il file è lì, sqlite si lamenta che le tabelle non ci sono. Se utilizzo atomically = NO
o ritardo l'apertura del file pochi istanti, non ho questo problema.NSData writeToFile: atomically: non salva immediatamente il file
Credo che avrei potuto andare su di esso impostando atomically = NO
ma poi di nuovo c'è una sorta di garanzia che l'intero file è stato scritto su disco subito dopo il writeToFile: chiamare? Finora il mio db non è così grande ma alla fine, in più non so per quanto tempo aspettare in altri dispositivi.
I documenti Apple dicono che questo metodo restituisce YES
se l'operazione ha esito positivo ma ovviamente non tiene conto del "ritardo" che salva il file.
Qualsiasi aiuto è molto apprezzato!
MODIFICA: vedo altre persone stanno avendo the same problem.
ho trovato questa discussione overflow dello stack che descrive la scrittura di file atomica: http://stackoverflow.com/questions/2705076/difference-between-writing-to-file-atomically-and-not Quello che ho' Sto indovinando, stai cercando di accedere al file prima che il sistema operativo lo scriva nell'archivio permanente. C'è una ragione per cui devi assolutamente scrivere atomicamente? –
Questa era la mia ipotesi e sto cercando di capire come aggirarla. La ragione per cui devo scrivere atomicamente è che se per qualche ragione la cosa si blocca il mio db principale verrà danneggiato, rendendo la mia app inutilizzabile. – Julian
Come stai scaricando e scrivendo? –