Data Persistence-write a Plist file and write a plist File
Data Persistence: four common types: Archive, plist file, sqlite, and coreData. Today we are reviewing plist file read/write.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
// // 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. /* Read the content of the plist file. */ NSString * path = [[ NSBundle mainBundle] pathForResource:@ "Person" ofType:@ "plist" ]; NSMutableDictionary * data = [[ NSMutableDictionary alloc] initWithContentsOfFile:path]; NSLog (@ "%@" ,data); /* Obtain the path of the plist file in the Document folder. */ NSMutableArray * mArr = [[ NSMutableArray alloc] initWithObjects:@ "English" ,@ "Data" ,@ "French" ,@ "Japanese" ,@ "German" , 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" ]; /* Assignment */ [data setObject:mArr forKey:@ "kemu" ]; [data setObject:@ "14" forKey:@ "age" ]; /* Plist file writing */ [data writeToFile:fileName atomically: YES ]; NSMutableDictionary * data1 = [[ NSMutableDictionary alloc] initWithContentsOfFile:fileName]; NSLog (@ "%@" ,data1); /* Plist files can be written multiple times. */ 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 |