Plist 文件的优化


Foundation 框架提供了 NSPropertyListSerialization 类处理plist文件



//从文件读入数据到NSMutableArray
- (NSMutableArray *) readFromArray:(NSString *) path
{
    NSMutableData *data = [[NSMutableData alloc] initWithContentsOfFile:path];
    NSMutableArray *array = [NSPropertyListSerialization propertyListWithData:data options:NSPropertyListMutableContainersAndLeaves format:NULL error:NULL];
    return array;
}

//写入NSMutableArray 到文件
- (void) write:(NSMutableArray *) array toFilePath:(NSString *) path
{
    NSData *data = [NSPropertyListSerialization dataWithPropertyList:array format:NSPropertyListBinaryFormat_v1_0 options:NSPropertyListMutableContainersAndLeaves error:NULL];
    BOOL success = [data writeToFile:path atomically:YES];
    if (success == NO)
    {
        NSLog(@"写入不成功");
    }
}

    options
    NSPropertyListImmutable 属性列表包含不可变对象
    NSPropertyListMutableContainers 属性列表父节点是可变的类型,子节点是不可变类型
    NSPropertyListMutableContainersAndLeaves  属性列表父节点和子节点都是可变的类型

    format:
    NSPropertyListXMLFormat_v1_0  指定属性列表文件格式为XML格式,仍然是纯文本类型,不会压缩文件
    NSPropertyListBinaryFormat_v1_0  指定属性列表文件格式为二进制格式,文件是二进制类型,会压缩文件
    NSPropertyListOpenStepFormat  指定属性列表文件格式为ASCII码格式,对于旧格式的属性列表文件,不支持写入操作


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值