iOS-NSData与NSDictionary的互相转换

这里,将字典转换成NSData类型。有一点必须注意的,必须实现

- (id)initWithCoder:(NSCoder *)aDecoder方法和

- (void)encodeWithCoder:(NSCoder *)aCoder方法。

+ (NSData *)returnDataWithDictionary:(NSDictionary*)dict

{

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

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

[archiver encodeObject:dict forKey:@"talkData"];

[archiver finishEncoding];

return data;

}

将字典路径的字符串转换为字典

+ (NSDictionary *)returnDictionaryWithDataPath:(NSString*)path

{

NSData* data = [[NSMutableData alloc]initWithContentsOfFile:path];

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

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

[unarchiver finishDecoding];

return myDictionary;

}

时间: 2024-11-10 12:23:18

iOS-NSData与NSDictionary的互相转换的相关文章

IOS NSData 转换成 NSDictionary

当我们通过URLRequest获取到返回的数据时,如果返回的结果是JSON格式的数据,我们需要将返回的NSData转换成NSDictionary. ? ??NSData *returnData = [ NSURLConnection sendSynchronousRequest: request returningResponse:&response error:&err];//获取网络链接返回的数据 ? ? NSDictionary *content = [NSJSONSerializa

IOS如果将一个十六进制的color转换成UIColor,很实用

UI给开发的效果图很多时候标注着十六进制的Color,而程序中用到的往往是UIColor可以用如下方法去转换: (UIColor *)RGBColorFromHexString:(NSString *)color alpha:(float)alpha { //color的值类似#fffeee,alpha的值类似1.0为透明度 int nums[6] = {0}; for (int i = 1; i < [color length]; i++) { int temp = [color charac

NSString / NSData / char* 类型之间的转换

NSString / NSData / char* 类型之间的转换 1. NSString转化为UNICODE String: (NSString*)fname = @“Test”; char fnameStr[10]; memcpy(fnameStr, [fname cStringUsingEncoding:NSUnicodeStringEncoding], 2*([fname length])); 与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节 2. NS

NSArray与NSString、NSData,NSDictionary与NSString、NSData 相互转化

NSArray *array = @[ @1, @2, @3, @4, @5, @3 ]; // 1. NSArray与NSData相互转化 // NSArray to NSData NSError *error; NSData *arrayData = [NSJSONSerialization dataWithJSONObject:array options:NSJSONWritingPrettyPrinted error:&error]; if (!error) { NSLog(@"

Swift中NSData与NSDictionary之间的相互转换

原创Blog,转载请注明出处 使用NSKeyedUnarchiver类来进行相互转换 1.NSDictionary转NSData var dictionaryExample : [String:AnyObject] = ["user":"UserName", "pass":"password", "token":"0123456789", "image":0] let

IOS xml 与NSDictionary 互相转换

引言: 在ios中经常遇到 xml文件或字符串 转换成NSDictionary: 需求: web服务端请求和返回的数据格式为xml:需根据解析xml文件动态生成控件:表单可能填值并需临时保存:一个表单就是<a/>包含内容,表单只要id,name就行: 如果表单填写值,需再<a/>里添加value. <a> <f>1</f>   <!--id--> <n>2ewew</n>  <!--名字--> &l

IOS开发之----NSDictionary,JSON和XML互相转换

本文永久地址为 http://www.cnblogs.com/ChenYilong/p/4044521.html,转载请注明出处. ? ? -(void)test { ? ? //XML文本范例 ? ? NSString *testXMLString = @"Cake0.55RegularChocolateBlueberryNoneGlazedSugar"; ?? ? ? ? NSLog(@"xml string[\n%@\n]", testXMLString);

IOS 把格式化的JSON字符串转换成字典

[html] view plaincopyprint? /*! * @brief 把格式化的JSON格式的字符串转换成字典 * @param jsonString JSON格式的字符串 * @return 返回字典 */ + (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString { if (jsonString == nil) { return nil; } NSData *jsonData = [jsonString d

iOS蓝牙中的进制转换

Bluetooth4.0.jpg 最近在忙一个蓝牙项目,在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理的是16进制(NSData),而我们习惯的计数方式是10进制,为了节省空间,蓝牙也会把16进制(NSData)拆成2进制记录.这里我们研究下如何在他们之间进行转换. 假设我们要向蓝牙发送0x1B9901这条数据 Byte转NSData Byte value[3]={0}; value[0]=0x1B; value[1]=0x99; value[2]=0x01; NSData * data