我必须将NSDictionary
对象转换为NSData
,并且我必须从NSData
对象中获得相同的NSDictionary
对象。我应该怎么做呢?将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];
从存储的NSData的
NSData *data = [[NSMutableData alloc]initWithContentsOfFile:YOURFILEPATH];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
YOURDICTIONARY = [unarchiver decodeObjectForKey: YOURDATAKEY];
[unarchiver finishDecoding];
[unarchiver release];
[data release];
2
一个更简单的版本罗伯特的回答得到的NSDictionary回:
[NSKeyedArchiver archiveRootObject:YOURDICTIONARY toFile:YOURFILEPATH];
,并相应:
YOURDICTIONARY = [NSKeyedUnarchiver unarchiveObjectWithFile:YOURFILEPATH];
或者为原来,而不归咎于一个文件分成东西来回答这个问题:
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:YOURDICTIONARY];
...
YOURDICTIONARY = [NSKeyedUnarchiver unarchiveObjectWithData:data];
它的所有工厂方法,所以它是有或没有ARC相同的代码;自第一天起,OS X v10.2和iOS上已使用所用的方法。
相关问题
- 1. 将NSString转换为NSData,反之亦然
- 2. 如何将NSDictionary转换为NSData,反之亦然?
- 3. 将对象转换为二进制代码,反之亦然
- 4. 将对象(包含lambda)转换为JSON,反之亦然
- 5. 将Java对象转换为Json,反之亦然?
- 6. 将对象转换为AS3中的XML元素(反之亦然)
- 7. Android将对象转换为XML,反之亦然
- 8. .NET - 将/映射列表转换为对象,反之亦然
- 9. 将Java对象转换为Xml,反之亦然
- 10. 将对象转换为NSDictionary
- 11. 如何在Groovy中将字节[]转换为对象,反之亦然
- 12. 将休眠orm实体转换为复杂对象,反之亦然
- 13. 将实体对象转换为POJO,反之亦然的最佳方式?
- 14. 将NSData对象转换为NSDictionary的问题
- 15. 将ansi转换为utf8,反之亦然
- 16. 将float2转换为double2,反之亦然
- 17. 将lonlat转换为xyz,反之亦然
- 18. 将HTML转换为Xliff,反之亦然
- 19. 将JavaUtilDate转换为NSDate,反之亦然?
- 20. 将RSAPrivateKey转换为PrivateKey,反之亦然
- 21. 变换JSON对象为数字字符串,反之亦然
- 22. 从tm对象移动到koRpus对象,反之亦然
- 23. 将NSData对象转换为NSString格式
- 24. 如何将CoreData对象转换为NSData
- 25. 将NSData转换为JSON对象数组
- 26. NSData对象被反转
- 27. 如何将cmis事件对象ID转换为cmis文档对象ID或反之亦然
- 28. 如何将NSDictionary转换为JSON对象?
- 29. 将NSData对象中的RTF数据转换为NSString对象
- 30. 转换一个NSDictionary对象到对象