2011-10-20 13 views

risposta

184

Sì. Lo farà.

Ecco alcuni caratteri per superare il limite di 30 caratteri.

+47

+1 per "documentare" i vostri personaggi in più :) – Julian

+17

Se lo fate o no atomicamente doesn non importa; in entrambi i casi, il file verrà completamente sovrascritto con i nuovi dati. –

+0

Ah, ma per me non riesce e il file originale è intatto. Come writeToFile non restituisce un NSError, come posso indagare sull'errore? potrebbe essere un problema di autorizzazioni, ma non posso esserne sicuro. Il mio codice viene eseguito come bundle di plug-in di installazione, per un pacchetto di installazione che richiede i privilegi di root: non so come verificare/stampare i privilegi con cui viene eseguito il codice. –

3

Metodo writeToFile:atomically:sovrascrive FILE, indipendentemente dal atomically: SÌ o NO.

informazioni da Apple docs (NSData, sezione "Salvataggio dei dati"):

The NSData class and its subclasses provide methods to quickly and easily save their contents to disk. To minimize the risk of data loss, these methods provide the option of saving the data atomically. Atomic writes guarantee that the data is either saved in its entirety, or it fails completely. The atomic write begins by writing the data to a temporary file. If this write succeeds, then the method moves the temporary file to its final location.

Non una parola sul controllo se il file esiste.

Ad esempio, per il metodo copyItemAtPath:toPath:error: a docs (NSFileManager, sezione di discussione) appositamente scritto su cui ha avuto luogo:

If a file with the same name already exists at dstPath, this method stops the copy attempt and returns an appropriate error.

Problemi correlati