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:PLISTNAME];
*dictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:docPath];
}
- (void)deletePlist
{
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDirectory, YES);
NSString *docPath = [[array objectAtIndex:0] stringByAppendingPathComponent:PLISTNAME];
[fileManager removeItemAtPath:docPath error:nil];
}
@end
- (void)viewDidLoad
{
[super viewDidLoad];
//文件读写
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
NSMutableDictionary *dictionary2 = [[NSMutableDictionary alloc] init];
NSMutableArray *array = [[NSMutableArray alloc] init];
NSMutableDictionary *dictionary1 = [[NSMutableDictionary alloc] 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 = [[NSMutableArray alloc] init];
array1 = [dictionary2 objectForKey:@"CPU"];
NSString *str = [[array1 objectAtIndex:0] objectForKey:@"harewareID"];
NSLog(@"%@",str);
//文件删除
[self.plist deletePlist];
NSMutableDictionary *dictionary3 = [[NSMutableDictionary alloc] init];
[self.plist readPlist:&dictionary3];
NSMutableArray *array2 = [[NSMutableArray alloc] init];
array2 = [dictionary3 objectForKey:@"CPU"];
NSString *str2 = [[array2 objectAtIndex:0] objectForKey:@"harewareID"];
NSLog(@"%@",str2);
//文件内容更改,更改一条数据就是把dictionary内key重写。这里重新插入harewareID
NSMutableDictionary *dictionary6 = [[NSMutableDictionary alloc] init];
NSMutableDictionary *dictionary5 = [[NSMutableDictionary alloc] init];
NSMutableArray *array5 = [[NSMutableArray alloc] init];
NSMutableDictionary *dictionary7 = [[NSMutableDictionary alloc] init];
[dictionary7 setValue:@"002" forKey:@"harewareID"];
[array5 addObject:dictionary7];
[dictionary6 setValue:array5 forKey:@"CPU"];
[self.plist writePlist:dictionary6];
[self.plist readPlist:&dictionary5];
NSMutableArray *array4 = [[NSMutableArray alloc] init];
array4 = [dictionary5 objectForKey:@"CPU"];
NSString *str4 = [[array4 objectAtIndex:0] objectForKey:@"harewareID"];
NSLog(@"%@",str4);
}