1. 程式人生 > >IOS之學習plist檔案的讀寫

IOS之學習plist檔案的讀寫

程式碼地址:https://github.com/schelling/YcDemo/tree/master/PlistDemo

       在做iOS開發時,經常用到到plist檔案,  那plist檔案是什麼呢? 它全名是:Property List,屬性列表檔案,它是一種用來儲存序列化後的物件的檔案。屬性列表檔案的副檔名為.plist ,因此通常被稱為 plist檔案。檔案是xml格式的。

Plist檔案通常用於儲存使用者設定,也可以用於儲存捆綁的資訊

我們建立一個專案來學習plist檔案的讀寫。

1、建立專案Plistdemo

專案建立之後可以找到專案對應的plist檔案,開啟如下圖所示:


在編輯器中顯示類似與表格的形式,可以在plist上右鍵,用原始碼方式開啟,就能看到plist檔案的xml格式了。

2、建立plist檔案。

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



建立plist檔名為plistdemo。

開啟plistdemo檔案,在空白出右鍵,右鍵選擇Add row 新增資料,新增成功一條資料後,在這條資料上右鍵看到 value Type選擇Dictionary。點加號新增這個Dictionary下的資料


新增完key之後在後面新增Value的值,新增手機號和年齡

建立完成之後用source code檢視到plist檔案是這樣的:

  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>  

3、讀取plist檔案的資料

現在檔案建立成功了,如何讀取呢,實現程式碼如下:
  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.     //讀取plist
  5.     NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"plistdemo" ofType:@"plist"];  
  6.     NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];  
  7.     NSLog(@"%@", data);//直接列印資料。
  8. }  

打印出來的結果:
  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. }  

這樣就把資料讀取出來了。

4、建立和寫入plist檔案

在開發過程中,有時候需要把程式的一些配置儲存下來,或者遊戲資料等等。 這時候需要寫入Plist資料。

寫入的plist檔案會生成在對應程式的沙盒目錄裡。

接著上面讀取plist資料的程式碼,加入了寫入資料的程式碼,

  1. <strong>- (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.     //讀取plist
  5.     NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"plistdemo" ofType:@"plist"];  
  6.     NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];  
  7.     NSLog(@"%@", data);  
  8.     //新增一項內容
  9.     [data setObject:@"add some content" forKey:@"c_key"];  
  10.     //獲取應用程式沙盒的Documents目錄
  11.     NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);  
  12.     NSString *plistPath1 = [paths objectAtIndex:0];  
  13.     //得到完整的檔名
  14.     NSString *filename=[plistPath1 stringByAppendingPathComponent:@"test.plist"];  
  15.    //輸入寫入
  16.     [data writeToFile:filename atomically:YES];  
  17.     //那怎麼證明我的資料寫入了呢?讀出來看看
  18.     NSMutableDictionary *data1 = [[NSMutableDictionary alloc] initWithContentsOfFile:filename];  
  19.     NSLog(@"%@", data1);  
  20.     // Do any additional setup after loading the view, typically from a nib.
  21. }  
  22. </strong>  

在獲取到自己手工建立的plistdemo.plist資料後,在這些資料後面加了一項內容,證明輸入寫入了。

怎麼證明新增的內容寫入了呢?下面是列印結果:



相關推薦

IOS學習plist檔案

程式碼地址:https://github.com/schelling/YcDemo/tree/master/PlistDemo        在做iOS開發時,經常用到到plist檔案,  那plist檔案是什麼呢? 它全名是:Property List,屬性列表檔案,它是一種用來儲存序列化後的物

ios 簡單的plist檔案操作(Document和NSUserDefaults)

//    [self getDocoumentsPath];//蘋果建議將程式建立產生的檔案以及應用瀏覽產生的檔案資料儲存在該目錄下,iTunes備份和恢復的時候會包括此目錄 //    [self getLibraryPath];//儲存程式的系統預設狀態設定 //

iOS plist 檔案操作

1丶 讀 //建立檔案管理器 NSFileManager *fileManager = [NSFileManagerdefaultManager]; NSArray *pathA = NSS

IOS沉思錄】IOS的資料持久化(plist檔案操作)

人生苦短,道阻且艱;修行不易,且行且努力。 【專業擅長領域】:iOS開發,遊戲開發,圖形學 【擅長平臺】:iOS平臺,Unity --------------------------------------------------------- 【個人主頁】:信厚

爬蟲實戰學習檔案

1.檔案讀寫 open(name.[mode.[buffering]]) buffering一般預設為0,即直接將檔案讀入硬碟;如果引數為1,則代表有緩衝區,即先將檔案讀入記憶體。當引數大於1則表示緩衝區的大小,複數代表使用預設的大小。可用flush或close函式將資料更新到硬碟

PythonIO程式設計——檔案、StringIO/BytesIO、操作檔案和目錄、序列化

What is your name? Eric We'll remember you when you come back, Eric!否則,輸出將如下:Welcome back, Eric!    1.3重構    你經常會遇到這樣的情況:程式碼能夠正確地執行,但可做進一步的改進——將程式碼劃分為一系列完成

ESP8266學習路 十二 (檔案)

通過串列埠傳送指令控制繼電器, 掉電記憶繼電器狀態,再次上電恢復繼電器狀態。 init.lua檔案 RELAY_Stat = "" RELAY_Pin = 1 gpio.mode(RELAY_Pin, gpio.OUTPUT) if file.open("mode.lua"

opencv學習(十七)XML和YAML檔案操作

可能大部分人到現在接觸的XML和YAML檔案很少,等以後訓練人臉模型進行人臉識別的時候用的就多了。現在先了解一下這兩種檔案型別。 XML:Extensible Markup Language,可擴充套件標記語言,標準通用語言的子集,是一種用於標記電子檔案使其具

Go語言學習筆記(十八)檔案

25.檔案讀寫 1.檔案開啟和讀 A.檔案分類:文字和二進位制檔案B.檔案存取方式:隨機存取和順序存取 檔案開啟程式碼示例: 1: package main 2: 3: import ( 4: "bufio" 5: "fmt" 6: "io" 7: "os" 8

Qt 學習 二進位制檔案

在上一章中,我們介紹了有關QFile和QFileInfo兩個類的使用。我們提到,QIODevice提供了read()、readLine()等基本的操作。同時,Qt 還提供了更高一級的操作:用於二進位制的流QDataStream和用於文字流的QTextStream

pandas學習concat合併及CSV檔案

讀取CSV檔案 讀取中文的CSV檔案中有中文,用“UTF-8”會出現亂碼問題,解決: import pandas as pd import numpy as np data=pd.read_csv('C:/Users/elenawang/Desktop/

IDL學習筆記三 資料的輸入輸出與檔案

print,arr,format='(1i)';format控制輸出格式,eg:I02——int型,用0補全兩位輸出;I-   ——左對齊;讀取txt檔案的基本步驟:①獲取元資料②根據元資料建立一個空的陣列③定位到對應資料的位置,把裡面的陣列讀出來pro testreadtx

ceph學習筆記六 數據過程

ceph sds 數據寫過程1、Client向PG所在的主OSD發送寫請求。2、主OSD接收到寫請求,同時向兩個從OSD發送寫副本的請求,並同時寫入主OSD的本地存儲中。3、主OSD接收到兩個從OSD發送寫成功的ACK應答,同時確認自己寫成功,就向客戶端返回寫成功的ACK應答。4、在寫操作的過程中,主

Java 檔案及效能比較總結

Java 之 檔案讀寫及效能比較總結 2014年05月12日 17:56:49 閱讀數:21765  幹Java這麼久,一直在做WEB相關的專案,一些基礎類差不多都已經忘記。經常想得撿起,但總是因為一些原因,不能如願。 其實不是沒有時間,只是有些時候疲於總結,今得空,下定決心

Python基本語法文字檔案

  檔案讀寫相關係統函式說明 系統函式 說明 input(tips); 提示使用者輸入資訊,例如 str = input("Please input your ip:") 將輸入的資訊賦值給變數

python學習(四)檔案

三種模式介紹:#r只讀模式,預設的,未指定模式時為只讀 r 開啟檔案不存在的話,會報錯 ; r+ 讀寫模式 #寫模式 w 會將原來檔案中的內容清空 開啟檔案不存在的話,會新建一個檔案 w+ 寫讀模式,雖然能讀,但是因為把檔案內容清空了,讀到的就是空 #追加模式 a+ 追加讀模式

iOS】第03講 檔案/NSArray/NSData/NSFileManager/NSFileHandle

一、沙盒    模擬器上的沙盒目錄路徑    ~/Library/Application Support/iPhone Simulator/6.0/Applications         &n

Python學習筆記系列——檔案以及敏感詞過濾器的實現

一、讀檔案 #開啟檔案,傳入檔名和識別符號,r代表讀 f= open('\\Users\ZC\Desktop\zc.txt','r') #呼叫read方法一次性讀取檔案的全部內容,存入記憶體,用str物件表示 print(f.read()) f.close() #使用with無論程式是否

Python檔案r+/w+/a+

讀模式 r 開啟不存在的檔案會報錯、不能寫;如不指定模式則預設是r 寫模式 w 開啟不存在的檔案會,會新建一個檔案;開啟存在的檔案會先清空後覆蓋原有檔案;不能讀 追加模式 a 開啟不存在的檔

學習筆記四 檔案,集合,元組,函式

一、檔案讀寫幾種模式總結: 讀模式: r 開啟不存在的檔案會報錯、不能寫(不能呼叫write方法),可以讀(能呼叫read方法) 寫模式: w # 1、開啟不存在的檔案,會新建一個檔案,但每次開啟都會清空原有檔案內容       # 2、不能讀(不能呼叫read方法),可以寫(能呼叫write方法)