NSDictionary转化为NSData

 

 

之前自己写了NSDictionary转化为NSData的一种方法如下

    NSMutableData *data = [[NSMutableData alloc] init];

    NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];

    [archiver encodeObject:messageDic forKey:@"KeyValue"];

    [archiver finishEncoding];

需要设置一个key进行存档,要得到原字典时需用同样的key解档

    NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];

    NSDictionary *myDictionary = [unarchiver decodeObjectForKey:@"KeyValue"];

    [unarchiver finishDecoding];

 

然而这样设置key存取值时,如果并发进行,会导致数据混乱,如果设置了不同的key,解档时也很麻烦用哪个key。

 

然后在github找了一个第三方库JSONKit,只有一个类,可以完成所有类型的数据之间的转换,非常实用,现在的项目我也用上了这个库,导入头文件#import "JSONKit.h"即可,需注意他用的是非ARC。

 

NSDictionary转化为NSData的代码如下:

NSData *data = [dic JSONData];

 

NSData转化为NSDictionary的代码如下:

NSDictionary *myDictionary = [data objectFromJSONData];

 

其他的类型数据转化为NSData类似,请查看API,就是这么简单。

 

 

 

 

 

posted @ 2015-05-06 12:09  李xu  Views(803)  Comments(0Edit  收藏  举报