plist文件的建立和讀寫

      在作iOS開發時,常常用到到plist文件,  那plist文件是什麼呢? 它全名是:Property List,屬性列表文件,它是一種用來存儲串行化後的對象的文件。屬性列表文件的擴展名爲.plist ,所以一般被稱爲 plist文件。文件是xml格式的。
app

Plist文件一般用於儲存用戶設置,也能夠用於存儲捆綁的信息編輯器


咱們建立一個項目來學習plist文件的讀寫。學習


一、建立項目Plistdemoatom


項目建立以後能夠找到項目對應的plist文件,打開以下圖所示:spa


在編輯器中顯示相似與表格的形式,能夠在plist上右鍵,用源碼方式打開,就能看到plist文件的xml格式了。.net



二、建立plist文件。code


按command +N快捷鍵建立,或者File —> New —> New File,選擇Mac OS X下的Property Listxml



建立plist文件名爲plistdemo。對象



打開plistdemo文件,在空白出右鍵,右鍵選擇Add row 添加數據,添加成功一條數據後,在這條數據上右鍵看到 value Type選擇Dictionary。點加號添加這個Dictionary下的數據blog


添加完key以後在後面添加Value的值,添加手機號和年齡


建立完成以後用source code查看到plist文件是這樣的:

[cpp] view plaincopy

  1. <?xml version="1.0" encoding="UTF-8"?>  

  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  

  3. <plist version="1.0">  

  4. <dict>  

  5.     <key>jack</key>  

  6.     <dict>  

  7.         <key>phone_num</key>  

  8.         <string>13801111111</string>  

  9.         <key>age</key>  

  10.         <string>22</string>  

  11.     </dict>  

  12.     <key>tom</key>  

  13.     <dict>  

  14.         <key>phone_num</key>  

  15.         <string>13901111111</string>  

  16.         <key>age</key>  

  17.         <string>36</string>  

  18.     </dict>  

  19. </dict>  

  20. </plist>  


三、讀取plist文件的數據


如今文件建立成功了,如何讀取呢,實現代碼以下:

[cpp] view plaincopy

  1. - (void)viewDidLoad  

  2. {  

  3.     [super viewDidLoad];  

  4.     //讀取plist  

  5.   

  6.     NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"plistdemo" ofType:@"plist"];  

  7.     NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];  

  8.     NSLog(@"%@", data);//直接打印數據。  

  9. }  


打印出來的結果:

[cpp] view plaincopy

  1. PlistDemo[6822:f803] {  

  2.     jack =     {  

  3.         age = 22;  

  4.         "phone_num" = 13801111111;  

  5.     };  

  6.     tom =     {  

  7.         age = 36;  

  8.         "phone_num" = 13901111111;  

  9.     };  

  10. }  

這樣就把數據讀取出來了。


四、建立和寫入plist文件

在開發過程當中,有時候須要把程序的一些配置保存下來,或者遊戲數據等等。 這時候須要寫入Plist數據。

寫入的plist文件會生成在對應程序的沙盒目錄裏。

接着上面讀取plist數據的代碼,加入了寫入數據的代碼,

[cpp] view plaincopy

  1. <strong>- (void)viewDidLoad  

  2. {  

  3.     [super viewDidLoad];  

  4.     //讀取plist  

  5.   

  6.     NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"plistdemo" ofType:@"plist"];  

  7.     NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];  

  8.     NSLog(@"%@", data);  

  9.       

  10.     //添加一項內容  

  11.     [data setObject:@"add some content" forKey:@"c_key"];  

  12.       

  13.     //獲取應用程序沙盒的Documents目錄  

  14.     NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);  

  15.     NSString *plistPath1 = [paths objectAtIndex:0];  

  16.       

  17.     //獲得完整的文件名  

  18.     NSString *filename=[plistPath1 stringByAppendingPathComponent:@"test.plist"];  

  19.    //輸入寫入  

  20.     [data writeToFile:filename atomically:YES];  

  21.       

  22.     //那怎麼證實個人數據寫入了呢?讀出來看看  

  23.     NSMutableDictionary *data1 = [[NSMutableDictionary alloc] initWithContentsOfFile:filename];  

  24.     NSLog(@"%@", data1);  

  25.       

  26.       

  27.     // Do any additional setup after loading the view, typically from a nib.  

  28. }  

  29. </strong>  


在獲取到本身手工建立的plistdemo.plist數據後,在這些數據後面加了一項內容,證實輸入寫入了。

怎麼證實添加的內容寫入了呢?下面是打印結果:

相關文章
相關標籤/搜索