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.
在这两种序列化方式中,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);
}
相关文章推荐
- iOS开发笔记--序列化 NSKeyedArchiver,NSPropertyListSerialization
- 序列化 NSKeyedArchiver,NSPropertyListSerialization
- 序列化 NSKeyedArchiver,NSPropertyListSerialization
- 使用 NSPropertyListSerialization 持久化字典与数组
- 序列化 NSKeyedArchiver,NSPropertyListSerialization
- 使用 NSPropertyListSerialization 持久化字典与数组
- 使用 NSPropertyListSerialization 持久化字典与数组
- 使用 NSPropertyListSerialization 持久化字典与数组
- iOS使用NSUserDefaults 存储数据报Attempt to set a non-property-list object as an NSUserDefaults value的错误解决
- iOS:NSCoder的方法encodePropertyList:
- iOS-可变参数va_list、va_start、va_arg、va_end、NS_FORMAT_FUNCTION(1, 2)
- iOS-BugList:NSNull equal
- iOS Property List 以及NSUserDefaults
- iOS runtime ~ class_copyPropertyList与class_copyIvarList区别
- Attempt to insert non-property list object - 芒果iOS
- iOS 使用class_copyPropertyList等runtime方法的注意事项
- IOS深入学习(28)之Property list(属性列表文件)
- iOS:NSCoder的方法decodePropertyListForKey:
- ios XML,JSON,数组解析并转换成NSMutableArray(List<class>)
- iOS---NSUserDefaults插入报错attempt to insert non-property list object