您的位置:首页 > 移动开发 > IOS开发

iOS 之NSPropertyListSerialization

2014-09-26 10:49 106 查看
到目前为止,看到oc实现的序列化方式有两种:NSKeyedArchiver,NSPropertyListSerialization。

在这两种序列化方式中,NSData都是序列化的目标。两种方式的不同点在于NSPropertyListSerialization只是针对字典类型的,而NSKeyedArchiver是针对对象的。(补充一下,在Mac OS环境下,还可以使用NSArchiver获得更加精简的二进制序列化内容,但是NSArchiver在iOS环境下不支持)。

首先讲NSPropertyListSerialization,这个相对简单,只要创建一个NSDictionary,然后调用NSPropertyListSerialization dataFromPropertyList, 将内容写入NSData中就可以了。如果要读入,就调用propertyListFromData.

NSString
* filepath = @”…”;
//omitted.


NSString
* err;
//不需要初始化。如果有错误发生,会被复制。


NSDictionary
* props = [NSDictionarydictionaryWithObjectsAndKey:@”Lucy”, @"name”,


@
"Beijing,China”,
@"
city”,


@
"supervior”,@"
position”,


@
"Qitiandasheng”,@"
company”,nil];


NSData
* data = [NSPropertyListSerializationdataFromPropertyList:props


format:NSPropertyListXMLFormat_v1_0


errorDescription:&err];


if
(!err){


[datawriteToFile:filePath
atomically:YES];
//写入文件


}
else
{


 
NSLog(@
"errorwith:%@"
,err);


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: