Ho utilizzato un plist per archiviare i dati nella mia app. Sono stato in grado di scrivere e leggere dal plist senza alcun problema. Ho creato questo plist in XCode, aggiungendo personalmente le righe di numeri, dizionari e array. Tuttavia, mi piacerebbe essere in grado di ripristinare il plist allo stato originale, e ci deve essere un modo più semplice per farlo rispetto alla scrittura di un valore 0 o nil per ogni voce nel plist. Quindi qual è il modo più semplice per reimpostare il plist al suo stato di default iniziale?Come si cancellano i dati in un plist creato in XCode?
5
A
risposta
10
La cosa più semplice sarebbe quella di eliminare il file utilizzando NSFileManager, in questo modo:
[[NSFileManager defaultManager] removeItemAtPath:plistPath error:NULL];
Oppure, se non si vuole fare che, assumendo il plist è un dizionario, basta caricare l'uno dal vostro bundle dell'applicazione e quindi sovrascrivere quella nei documenti, in questo modo:
NSDictionary *originalPlist = [NSDictionary dictionaryWithContentsOfFile:bundleFile];
[originalPlist writeToFile:documentsFile atomically:YES];
che sovrascriverà il file salvato con il file originale.
1
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:@"mobile-watchlist.plist"];
[fileManager removeItemAtPath: fullPath error:NULL];
0
Si potrebbe anche provare a rinominare il proprio Plist. Questo è il minimo lavoro che penso.
+0
Quindi, che dire del vecchio ??? –
Problemi correlati
- 1. definire i valori ENUM in un plist in Xcode
- 2. I rapporti XCode plist localizzati sono corrotti
- 3. Passaggi per creare e modificare un file plist in Xcode
- 4. Recupero dati da plist
- 5. Ottenere i dati dal plist Info
- 6. Come scrivere un dato in plist?
- 7. Devo usare NSUserDefaults o un plist per memorizzare i dati?
- 8. Come leggere struttura di dati da file .plist in NSArray
- 9. Lettura di dati da un file plist
- 10. Come salvare NSMutableArray in plist in iphone
- 11. Parse Plist (NSString) in NSDictionary
- 12. Come si passano i dati in un IValueConverter in XAML?
- 13. Come si duplica un file in XCode?
- 14. I phantomjs cancellano regolarmente la cache automaticamente?
- 15. Come aggiungere il file .plist a tutti i target in XCode?
- 16. creazione di un file plist programatically
- 17. Come si aggiunge un nuovo articolo a un plist?
- 18. Esiste un editor .plist online?
- 19. Come caricare un UIColor da un Plist
- 20. Quali sono i dati binari attorno al plist in un file di profilo di provisioning?
- 21. Come simulare i dati in UITest su Xcode 7?
- 22. Come suddividere i dati in un convoglio e testarli casualmente?
- 23. Converti JSON in .plist
- 24. Come aggiungere NSExceptionDomains a plist di xcode Versione 7.0.1?
- 25. Come si trovano/cancellano rapidamente tutti gli elenchi di modifiche vuoti in Perforce?
- 26. Come leggere e salvare i dati da un file plist remoto
- 27. Come si converte un progetto xcode in un cocoapod?
- 28. Salvataggio in un album creato
- 29. cocos2d-x come leggere plist in un array
- 30. Come si effettua il refactoring in Xcode?
Grazie, era quello che stavo cercando. Immagino di aver bisogno di qualcuno che me lo spieghi direttamente. – gurooj
È possibile eliminare una singola voce da un file plist? Fondamentalmente sto memorizzando le date nel mio plist e voglio che, poiché la data memorizzata nel plist scade, quella data/voce dovrebbe essere cancellata dal plist e il plist dovrebbe ottenere aggiornato. Come posso farlo? –
Non lo si eliminerebbe direttamente dal plist, lo si eliminerebbe dal dizionario creando un NSMutableDictionary utilizzando il metodo mutableCopy e quindi utilizzando il metodo removeObjectForKey :. Quindi basta salvare il nuovo dizionario nella parte superiore del vecchio plist. –