数据持久化,常见4种:归档,plist文件,sqlite,coreData.今天复习的是plist文件读写.
class="brush:objc;gutter:true;">//
// 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