读写 .plist 文件的代码例子
以下代码在Mac和iPhone中均适用。
写入plist文件:
- NSMutableDictionary* dict = [ [ NSMutableDictionary alloc ] initWithContentsOfFile:@"/Sample.plist" ];
- [ dict setObject:@"Yes" forKey:@"RestartSpringBoard" ];
- [ dict writeToFile:@"/Sample.plist" atomically:YES ];
读取plist文件:
- NSMutableDictionary* dict = [ [ NSMutableDictionary alloc ] initWithContentsOfFile:@"/Sample.plist" ];
- NSString* object = [ dict objectForKey:@"RestartSpringBoard" ];
用这个方法编辑.plist文件,需要先将.plist文件存储在沙盒中,在上一篇文章中有提到沙盒的路径
通过读写 .plist 文件,我们可以在 iPhone 里记录或调取数据,下面就是 CocoaChina 会员 “pjk1129” 分享的读写 .plist 文件的代码
以name,phoneNumber,age三个字段为例。 iPhone 在文本框中输入数据,获取后装入数组中,然后把数组写入.plist文件
写操作
NSString *name=[txt1 text];
NSNumber *phoneNumber=[[NSNumber alloc] initWithInt:[[txt2 text] intValue]];
NSNumber *age=[[NSNumber alloc] initWithInt:[[txt3 text] intValue]];
NSMutableArray *array=[[NSMutableArray alloc]init];
[array addObject:name];
[array addObject:phoneNumber];
[array addObject:age];
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *path=[paths objectAtIndex:0];
NSString *filename=[path stringByAppendingPathComponent:@"personal.plist"];
[array writeToFile:filename atomically:YES];
[array release];
读操作
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *path=[paths objectAtIndex:0];
NSString *filename=[path stringByAppendingPathComponent:@"personal.plist"];
NSMutableArray *array=[[NSMutableArray alloc] initWithContentsOfFile:filename];
txt1.text=[array objectAtIndex:0];
txt2.text=[[NSString alloc] initWithFormat:@"%d",[[array objectAtIndex:1]intValue]];
txt3.text=[[NSString alloc] initWithFormat:@"%d",[[array objectAtIndex:2]intValue]];
[array release];
关键语:从plist文件中读取数据(非沙盒中)
代码:
NSString *plistPath = [ [NSBundlemainBundle] pathForResource:@"statedictionary"ofType:@"plist"];
NSDictionary *dictionary =[[NSDictionary alloc]initWithContentsOfFile:plistPath];