plist檔案操作總結
plist檔案類 (負責檔案的讀寫,刪除整個檔案)
#import "Plist.h"
@implementation Plist
- (void)writePlist:(NSMutableDictionary*)dictionary
{
NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDirectory, YES);
NSString *docPath = [[array objectAtIndex:0] stringByAppendingPathComponent:PLISTNAME
[dictionary writeToFile:docPath atomically:YES];
[array release];
}
- (void)readPlist:(NSMutableDictionary**)dictionary
{
NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDirectory, YES);
NSString *docPath = [[array objectAtIndex:0]stringByAppendingPathComponent:
*dictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:docPath];
}
- (void)deletePlist
{
NSFileManager *fileManager = [NSFileManagerdefaultManager];
NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDirectory, YES);
NSString *docPath = [[array
[fileManager removeItemAtPath:docPath error:nil];
}
@end
- (void)viewDidLoad
{
[superviewDidLoad];
//檔案讀寫
NSMutableDictionary *dictionary = [[NSMutableDictionaryalloc] init];
NSMutableDictionary *dictionary2 = [[NSMutableDictionaryalloc] init];
NSMutableArray *array = [[NSMutableArrayalloc] init];
NSMutableDictionary *dictionary1 = [[NSMutableDictionaryalloc] init];
[dictionary1 setValue:@"001" forKey:@"harewareID"];
[array addObject:dictionary1];
[dictionary setValue:array forKey:@"CPU"];
self.plist = [[Plist alloc] init];
//呼叫寫檔案
[self.plist writePlist:dictionary];
//讀檔案
[self.plist readPlist:&dictionary2];
NSMutableArray *array1 = [[NSMutableArrayalloc] init];
array1 = [dictionary2 objectForKey:@"CPU"];
NSString *str = [[array1 objectAtIndex:0] objectForKey:@"harewareID"];
NSLog(@"%@",str);
//檔案刪除
[self.plistdeletePlist];
NSMutableDictionary *dictionary3 = [[NSMutableDictionaryalloc] init];
[self.plist readPlist:&dictionary3];
NSMutableArray *array2 = [[NSMutableArrayalloc] init];
array2 = [dictionary3 objectForKey:@"CPU"];
NSString *str2 = [[array2 objectAtIndex:0] objectForKey:@"harewareID"];
NSLog(@"%@",str2);
//檔案內容更改,更改一條資料就是把dictionary內key重寫。這裡重新插入harewareID
NSMutableDictionary *dictionary6 = [[NSMutableDictionaryalloc] init];
NSMutableDictionary *dictionary5 = [[NSMutableDictionaryalloc] init];
NSMutableArray *array5 = [[NSMutableArrayalloc] init];
NSMutableDictionary *dictionary7 = [[NSMutableDictionaryalloc] init];
[dictionary7 setValue:@"002" forKey:@"harewareID"];
[array5 addObject:dictionary7];
[dictionary6 setValue:array5 forKey:@"CPU"];
[self.plist writePlist:dictionary6];
[self.plist readPlist:&dictionary5];
NSMutableArray *array4 = [[NSMutableArrayalloc] init];
array4 = [dictionary5 objectForKey:@"CPU"];
NSString *str4 = [[array4 objectAtIndex:0] objectForKey:@"harewareID"];
NSLog(@"%@",str4);
}