- 一个简单的例子,主要练习数据的永久存储和数组排序 ,用到了一些东西,贴一部分关键代码出来
- 后面给出完整的附件,把1.plist 添加到模拟器的目录去。
//读取文件路径sql
- -(NSString *)dataFilePath
- {
- NSArray *paths= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- //NSLog(@"======path======%@",paths);
- NSString *documentsDirectory=[paths objectAtIndex:0];
- //NSLog(@"%@",documentsDirectory);
- return[documentsDirectory stringByAppendingPathComponent:@"1.plist"];
- }
数组ide
- //从plist中读取数据
- NSString *path =[self dataFilePath];
- NSMutableArray *array=[[NSMutableArray alloc] initWithContentsOfFile:path];
- self.recordsArray=array;
- [array release];
- -(void) addrecords:(id)sender
- {
- //获取填写内容
- NSString* titletext=inputTextField.text;
- //获取当前时间
- NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
- [dateFormatter setDateFormat:@"YY年MM月dd日HH点:mm分:ss秒"];
- NSString* result = [dateFormatter stringFromDate:[NSDate date]];
- [dateFormatter release];
- dateFormatter=nil;
- NSMutableDictionary *newdictionary=[[NSMutableDictionary alloc]init];
- [newdictionary setObject:titletext forKey:@"content"];
- [newdictionary setObject:result forKey:@"datetime"];
- /* 在数组的末尾附加*/
- [self.recordsArray addObject:newdictionary];
- /* save */
- BOOL success = [self.recordsArray writeToFile:[self dataFilePath] atomically:NO];
- NSLog(@"success = %d",success);
- /* reload date */
- [self.recordsArray removeAllObjects];
- NSString *path =[self dataFilePath];
- NSLog(@"path = %@",path);
- NSMutableArray *tempMutableArray = [NSMutableArray arrayWithContentsOfFile:path];
- [self.recordsArray addObjectsFromArray:tempMutableArray];
- NSLog(@"self.recordsArray = %@",self.recordsArray);
- inputTextField.text=@"";
- [recordsTableView reloadData];
- }
- -(void) sortByName
- {
- NSSortDescriptor *sorter = [[NSSortDescriptor alloc] initWithKey:@"content" ascending:YES];
- self. recordsArray = [self.recordsArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sorter]];
- [self.recordsArray writeToFile:[self dataFilePath] atomically:NO];
- NSString *path =[self dataFilePath];
- NSMutableArray *array=[[NSMutableArray alloc] initWithContentsOfFile:path];
- self.recordsArray=array;
- [array release];
- [recordsTableView reloadData];
- }