plist 讀取+數組排序

  
  
  
  
  1. 一個簡單的例子,主要練習數據的永久存儲和數組排序 ,用到了一些東西,貼一部分關鍵代碼出來
  2. 後面給出完整的附件,把1.plist 添加到模擬器的目錄去。


//讀取文件路徑sql

   
   
   
   
  1. -(NSString *)dataFilePath 
  2.     NSArray *paths= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
  3.     //NSLog(@"======path======%@",paths); 
  4.     NSString *documentsDirectory=[paths objectAtIndex:0]; 
  5.     //NSLog(@"%@",documentsDirectory); 
  6.     return[documentsDirectory stringByAppendingPathComponent:@"1.plist"]; 


 數組

 ide

  1. //從plist中讀取數據 
  2.     NSString *path =[self dataFilePath]; 
  3.     NSMutableArray *array=[[NSMutableArray  alloc] initWithContentsOfFile:path]; 
  4.     self.recordsArray=array; 
  5.     [array release]; 
  6.  
  7. -(void) addrecords:(id)sender 
  8.     //獲取填寫內容 
  9.     NSString* titletext=inputTextField.text; 
  10.     //獲取當前時間 
  11.     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
  12.     [dateFormatter setDateFormat:@"YY年MM月dd日HH點:mm分:ss秒"]; 
  13.     NSString* result = [dateFormatter stringFromDate:[NSDate date]]; 
  14.     [dateFormatter release]; 
  15.     dateFormatter=nil; 
  16.      
  17.     NSMutableDictionary *newdictionary=[[NSMutableDictionary alloc]init]; 
  18.     [newdictionary setObject:titletext forKey:@"content"]; 
  19.     [newdictionary setObject:result forKey:@"datetime"]; 
  20.      
  21.     /* 在數組的末尾附加*/ 
  22.     [self.recordsArray addObject:newdictionary]; 
  23.      
  24.     /* save */ 
  25.     BOOL success = [self.recordsArray writeToFile:[self dataFilePath] atomically:NO]; 
  26.     NSLog(@"success = %d",success); 
  27.  
  28.     /* reload date */ 
  29.     [self.recordsArray removeAllObjects]; 
  30.      
  31.     NSString *path =[self dataFilePath]; 
  32.     NSLog(@"path = %@",path); 
  33.      
  34.     NSMutableArray *tempMutableArray = [NSMutableArray arrayWithContentsOfFile:path]; 
  35.     [self.recordsArray addObjectsFromArray:tempMutableArray]; 
  36.     NSLog(@"self.recordsArray = %@",self.recordsArray); 
  37.     inputTextField.text=@""
  38.     [recordsTableView reloadData]; 
  39.  
  40.  
  41. -(void) sortByName 
  42.     NSSortDescriptor *sorter = [[NSSortDescriptor alloc] initWithKey:@"content" ascending:YES]; 
  43.     self. recordsArray = [self.recordsArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sorter]]; 
  44.     [self.recordsArray writeToFile:[self dataFilePath] atomically:NO]; 
  45.      
  46.     NSString *path =[self dataFilePath]; 
  47.     NSMutableArray *array=[[NSMutableArray alloc] initWithContentsOfFile:path]; 
  48.     self.recordsArray=array; 
  49.     [array release]; 
  50.     [recordsTableView reloadData]; 
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息