Мне нужно преобразовать объект NSDictionary
в NSData
, и в дальнейшем мне нужно получить то же самое NSDictionary
из объекта NSData
. Как мне это сделать?преобразование объекта NSDictionary в объект NSData и наоборот
16
A
ответ
32
использование NSKeyedArchiver
Для преобразования NSDictionary Для 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];
Чтобы получить NSDictionary назад от сохраненного NSData
NSData *data = [[NSMutableData alloc]initWithContentsOfFile:YOURFILEPATH];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
YOURDICTIONARY = [unarchiver decodeObjectForKey: YOURDATAKEY];
[unarchiver finishDecoding];
[unarchiver release];
[data release];
2
Гораздо проще вариант ответа Роберта:
[NSKeyedArchiver archiveRootObject:YOURDICTIONARY toFile:YOURFILEPATH];
И, соответственно:
YOURDICTIONARY = [NSKeyedUnarchiver unarchiveObjectWithFile:YOURFILEPATH];
Или ответить на вопрос, как первоначально установлен, не вменяя файл на вещи:
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:YOURDICTIONARY];
...
YOURDICTIONARY = [NSKeyedUnarchiver unarchiveObjectWithData:data];
Это все фабричные методы, так что это тот же самый код с или без АРК; используемые методы были доступны с OS X v10.2 и iOS с первого дня.
Смежные вопросы
- 1. Преобразование CNContact в NSData и наоборот
- 2. Преобразование данных JSON из NSData в NSDictionary
- 3. Преобразование объекта в двоичный код и наоборот
- 4. Преобразование объекта Java в Json и наоборот?
- 5. NSData в NSString и наоборот
- 6. Преобразование NSData в JSON
- 7. Преобразование NSObject в NSDictionary
- 8. NSString к NSData в UIImage и наоборот преобразование
- 9. Преобразование объекта NSData в NSArray
- 10. Преобразование объекта Java в Xml и наоборот
- 11. Преобразование NSString в NSDictionary и NSDictionary в NSString
- 12. Преобразование серии бит в объект NSData
- 13. Преобразование пользовательского объекта класса в NSData
- 14. Преобразование JSON в NSData и NSData в JSON в Swift
- 15. Преобразование AVPlayerItem в NSData
- 16. Как NSData для NSDictionary?
- 17. Преобразование NSObject в NSData
- 18. Преобразование байт NSData в пользовательский объект
- 19. Преобразование строки NSDictionary в NSDictionary
- 20. Преобразование NSData в NSString и преобразование в NSData?
- 21. Преобразование строки в шестнадцатеричную и наоборот наоборот
- 22. содержание NSData в NSArray/NSDictionary
- 23. Как использовать объект объекта NSDictionary?
- 24. преобразование пользовательского объекта в NSData Swift
- 25. Преобразование объекта NSData в формат NSString
- 26. объекта в строку, и наоборот
- 27. Преобразование объекта (включительно лямбда) в JSON и наоборот
- 28. Android Преобразование объектов в XML и наоборот
- 29. Хранение пользовательских объектов как NSDictionary vs NSData
- 30. Преобразование NSData в SecKeyRef