数据持久化-Plist文件写入

数据持久化,常见4种:归档,plist文件,sqlite,coreData.今天复习的是plist文件读写.

//
//  ViewController.m
//  Test_Plist
//
//  Created by lidongbo on 14/10/30.
//  Copyright (c) 2014年 lidongbo. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    /*
     读取plist文件的内容.
     */
    NSString * path = [[NSBundle mainBundle] pathForResource:@"Person" ofType:@"plist"];
    NSMutableDictionary * data = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
    NSLog(@"%@",data);

    /*
     获取Document文件夹中plist文件的路径
     */
    NSMutableArray * mArr = [[NSMutableArray alloc] initWithObjects:@"英语",@"数据",@"法语",@"日语",@"德语", nil];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString * plistPath = [paths objectAtIndex:0];
    NSLog(@"%@",plistPath);

//    NSString * fileName = [plistPath stringByAppendingString:@"/Person.plist"];
    NSString * fileName = [plistPath stringByAppendingPathComponent:@"Person.plist"];

    /*
        赋值
     */
    [data setObject:mArr forKey:@"kemu"];
    [data setObject:@"14" forKey:@"age"];
    /*
     plist文件写入
     */
    [data writeToFile:fileName atomically:YES];

    NSMutableDictionary * data1 = [[NSMutableDictionary alloc] initWithContentsOfFile:fileName];
    NSLog(@"%@",data1);

    /*
     plist文件可以多次写入.
     */
    NSMutableArray * mmArr = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3", nil];
    [data setObject:mmArr forKey:@"kemu"];

    [data writeToFile:fileName atomically:YES];

    NSMutableDictionary * data2 = [[NSMutableDictionary alloc] initWithContentsOfFile:fileName];
    NSLog(@"______%@",data2);

}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
时间: 2024-10-07 20:48:21

数据持久化-Plist文件写入的相关文章

数据持久化之文件读写,属性列表(plist)

待完善 数据持久化之文件读写,属性列表(plist),布布扣,bubuko.com

Snail—OC学习之本地数据持久化(plist)

plist文件的格式 plist是一种数据持久化的文件 1.最外层通常为数组或者字典 2.plist里面的数据 只局限于数组.字典.逻辑值(BOOL).NSNumber.NSData.NSDate.字符串等数据类型 3.无法存储自定义类型的对象 plist作用 1.不适用它作为缓存 无法存储自定义类型的对象 2.通常存储长时间不容易发生变化的数据.国家.省市区.汽车品牌.项目的info.plist工程的设置信息 3.占用内存小 #import <Foundation/Foundation.h>

安卓数据持久化:文件存储、SharedPreferences存储以及数据库存储

Android系统中主要提供了三种方式用于简单的实现数据持久化功能: 文件存储(手机自带的内存).SharedPreferences存储以及数据库存储 当然还可以用sd卡存储 读入写出 下面是疯狂java讲义中的关于IO流的一些补充,回忆一下 1,文件存储 手机自带的内存,只能供当前应用程序访问,其他应用程序访问不了,程序卸载这些数据也会随着消失 原理: 基本是先获取一个文件的输出流,然后把信息write进去,最后关闭流 a,通过上下文类context的openFileOutput()方法获得一

数据持久化-Plist

Plist 保存用户的配置数据 1.创建Plist文件,用Dictionary 读出数据 ? ??//获取沙盒目录 ? ? NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); ?? ? ? ? NSString *path=[paths objectAtIndex:0]; ?? ? ? ? //得到完整的文件名称 ? ? NSString *filepa

python(四)数据持久化操作 文件存储

1.写入 导入pickle包 然后组织一个列表my_list,保存为pkl格式,可以是任意格式 在磁盘下回出现一个保存的文件 2.读取

IOS开发--数据持久化篇文件存储(二)

前言:个人觉得开发人员最大的悲哀莫过于懂得使用却不明白其中的原理.在代码之前我觉得还是有必要简单阐述下相关的一些知识点. 因为文章或深或浅总有适合的人群.若有朋友发现了其中不正确的观点还望多多指出,不胜感激. 承接上篇博客我们来看看IOS开发中是如何将一个自定义的对象进行归档的 本篇博客将介绍以下几个方面的内容 1)普通的单个对象归档操作 2)拥有继承关系的对象归档 3)同时将多个对象进行归档 1.普通的单个对象归档操作 首先我们来看下最简单的单个对象归档操作 1.自定义一个跟小明一样有名的类(

iOS开发——数据持久化OC篇&amp;plist文件增删改查操作

Plist文件增删查改 主要操作: 1.//获得plist路径    -(NSString*)getPlistPath: 2.//判断沙盒中名为plistname的文件是否存在    -(BOOL) isPlistFileExists: 3.//读取沙盒中Document文件夹下的BookList.plist文件 [NSMutableDictionarydictionaryWithContentsOfFile:plistPath]; 4.//写入文件     if ([plistDictiona

OC数据持久化方案1-NSUserDefauts与属性文件(plist)

NSUserDefauts 用户默认值,这个是苹果给我们提供的可以方便的读取plist属性文件的一个类,那么plist是什么? 关于plist文件 plist文件,又称为属性文件,本质上是一个XML文件,可以用来存储数组,字典,字符串,数字等, 很多时候,app的很多配置项也是通过plist文件来实现的 我们打开一个plist文件看看: 里面存的是键值对,当然 你自己也可以存数组,那就需要制作很多的item了 使用NSUserDefaults存储读取值,实际上就是在对相应的沙盒里的plist文件

IOS Plist文件操作之写入/读取/删除

写入数据到plist文件   //获取路径对象     NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);     NSString *path = [pathArray objectAtIndex:0];     //获取文件的完整路径     NSString *filePatch = [path stringByAppendingPathC