代码
要点:在论坛里面下载了写入plist的demo,发现工程中的plist文件并没有被更改。这个是用来保存临时数据的吗?没有写入app中吗?
以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];
写操作
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];
建议以后不明白的同学把这个path打印出来就明白来了