Plist文件的读写操作

读写 .plist 文件的代码例子

以下代码在Mac和iPhone中均适用。

 

写入plist文件:

  1. NSMutableDictionary* dict = [ [ NSMutableDictionary alloc ] initWithContentsOfFile:@"/Sample.plist" ];
  2. [ dict setObject:@"Yes" forKey:@"RestartSpringBoard" ];
  3. [ dict writeToFile:@"/Sample.plist" atomically:YES ];

 

读取plist文件:

  1. NSMutableDictionary* dict =  [ [ NSMutableDictionary alloc ] initWithContentsOfFile:@"/Sample.plist" ];
  2. 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];

你可能感兴趣的:(IOS)