Devo convertire un oggetto NSDictionary
in NSData
e inoltre devo ottenere lo stesso NSDictionary
dall'oggetto NSData
. Come dovrei farlo?conversione di oggetto NSDictionary su oggetto NSData e viceversa
16
A
risposta
32
uso NSKeyedArchiver
Per convertire NSDictionary Per NSData
NSMutableData *data = [[NSMutableData alloc]init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]initForWritingWithMutableData:data];
[archiver encodeObject:YOURDICTIONARY forKey: YOURDATAKEY];
archiver finishEncoding];
[data writeToFile:YOURFILEPATH atomically:YES];
[data release];
[archiver release];
Per ottenere il NSDictionary indietro dalla stored NSData
NSData *data = [[NSMutableData alloc]initWithContentsOfFile:YOURFILEPATH];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
YOURDICTIONARY = [unarchiver decodeObjectForKey: YOURDATAKEY];
[unarchiver finishDecoding];
[unarchiver release];
[data release];
2
Una versione molto più semplice della risposta di Robert:
[NSKeyedArchiver archiveRootObject:YOURDICTIONARY toFile:YOURFILEPATH];
E, corrispondentemente:
YOURDICTIONARY = [NSKeyedUnarchiver unarchiveObjectWithFile:YOURFILEPATH];
O, per rispondere alla domanda, come originariamente stabilito, senza imputare un file in cose:
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:YOURDICTIONARY];
...
YOURDICTIONARY = [NSKeyedUnarchiver unarchiveObjectWithData:data];
E 'tutti i metodi di fabbrica in modo che sia lo stesso codice con o senza ARC; i metodi utilizzati sono stati disponibili da OS X v10.2 e su iOS sin dal primo giorno.
Problemi correlati
- 1. Conversione di NSData in NSDictionary
- 2. Converti nsdictionary in nsdata
- 3. Oggetto debole in un NSDictionary?
- 4. NSDictionary oggetto insensibile al casoForKey:
- 5. Pattern di conversione oggetto
- 6. Creazione di array per oggetto (e viceversa) in JavaScript?
- 7. Conversione URL String e viceversa
- 8. Come convertire da file binario a oggetto rilocabile e viceversa?
- 9. Conversione oggetto Python
- 10. Come ottenere oggetto per chiave da NSDictionary?
- 11. Conversione di audio e video in NSData
- 12. Come passare un NSDictionary con postNotificationName: oggetto:
- 13. conversione Data oggetto TimeWithZone
- 14. Conversione di un puntatore non `void` a `uintptr_t` e viceversa
- 15. Conversione di NSData in base64
- 16. Conversione di un oggetto "mappa" ad un oggetto "SpatialPolygon"
- 17. conversione dell'immagine in matrice e viceversa?
- 18. Creazione di un oggetto NSManagedObject con contenuto NSDictionary
- 19. Convertire un unixtime in un oggetto datetime e viceversa (coppia di funzioni di conversione del tempo inverse)
- 20. Conversione NSData in Hex NSString
- 21. Creare una matrice in Swift da un oggetto NSData
- 22. Oggetto non inizializzato e oggetto inizializzato su NULL
- 23. Salvataggio di NSDictionary su NSUserDefaults
- 24. Console.log in IE su un oggetto appena immesso [oggetto oggetto]
- 25. Problema di conversione da NSData a NSString!
- 26. Oggetto DOM JavaScript su oggetto jQuery
- 27. PHP-MYSQL: conversione di Unix Timestamp in DateTime e viceversa
- 28. conversione da stringa a oggetto json android
- 29. Conversione di stringhe in Clob e viceversa in Hibernate
- 30. C# Conversione di file in Base64String e viceversa