数据持久化,常见4种:归档,plist文件,sqlite,coreData.今天复习的是plist文件读写.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
// // 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 |