動態建立 Plist 檔案,動態建立plist檔案
簡介
Property List,屬性列表檔案,它是一種用來儲存序列化後的對象的檔案。屬性列表檔案的副檔名為.plist ,因此通常被稱為 plist檔案,檔案是xml格式的。
寫入plist檔案
在開發過程中,有時候需要把程式的一些配置儲存下來,或者遊戲資料等等。 這時候需要寫入Plist資料。寫入的plist檔案會產生在對應程式的沙箱目錄裡。
1 -(void)triggerStorage 2 { 3 // displayLabel.text = textInput.text; 4 5 NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); 6 NSString *path=[paths objectAtIndex:0]; 7 NSString *filename=[path stringByAppendingPathComponent:@"test.plist"]; //擷取路徑 8 9 NSDictionary* dic2 = [NSDictionary dictionaryWithContentsOfFile:filename]; //讀取資料10 NSLog(@"dic2 is:%@",dic2);11 12 //建立一個dic,寫到plist檔案裡13 NSDictionary* dic = [NSDictionary dictionaryWithObjectsAndKeys:@"displayLabel.text",@"IP",nil]; //寫入資料14 // 或者 [dic setObject:@"add some content" forKey:@"c_key"];15 [dic writeToFile:filename atomically:YES];16 17 }
讀取檔案
1 - (void)readData { 2 NSMutableArray *resultData; 3 // 擷取應用程式沙箱的Documents目錄 4 NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); 5 NSString *path=[paths objectAtIndex:0]; 6 NSLog(@"path = %@",path); 7 // 得到完整的檔案名稱 8 NSString *filename=[path stringByAppendingPathComponent:@"test.plist"]; 9 10 //讀檔案11 NSDictionary* dic2 = [NSDictionary dictionaryWithContentsOfFile:filename];12 NSLog(@"dic is:%@",dic2);13 if(dic2 == nil)14 {15 //1. 建立一個plist檔案16 NSFileManager* fm = [NSFileManager defaultManager];17 [fm createFileAtPath:filename contents:nil attributes:nil];18 }19 else20 {21 resultData=[dic2 objectForKey:@"IP"];22 if([dic2 count] > 0)23 {24 // displayLabel.text = resultData;25 NSLog(@"讀取的值是:%@", resultData);26 }27 else28 {29 // displayLabel.text = @" ";30 NSLog(@"沒有讀取到任何值!");31 }32 }33 }