热门问题
时间线
聊天
视角
屬性列表
苹果系统文件 来自维基百科,自由的百科全书
Remove ads
在OS X的Cocoa,NeXTSTEP和GNUstep編程框架中,屬性列表(Property List)檔案是一種用來儲存序列化後的對象的檔案。屬性列表檔案的副檔名為.plist,因此通常被稱為plist檔案。
Plist檔案通常用於儲存用戶設置,也可以用於儲存捆綁的資訊,該功能在舊式的Mac OS中是由資源分支提供的。
表達
由於Plist中儲存的數據是抽象的,其採用的檔案格式可以不止一種。NeXTSTEP只使用一種格式,而稍晚的GNUstep和OS X框架匯入了不同的檔案格式。
NeXTSTEP系統中,Plist被設計為人類可讀的,並可以手工修改,故採用了類似於程式語言的語法將數據序列化為ASCII數據。
字串被表示為:
"This is a plist string"
二進制數據被表示為:
< [文本形式的十六进制数] >
陣列被表示為:
( "1", "2", "3" )
字典則被表示為:
{ "键" = "值"; ... }
NeXT的plist格式的一個限制是它不能表示NSValue對象(即數,布林值等)。
GNUstep採用了NeXTSTEP的格式,並添加了少許特性。它支援NSValue對象(以普通ASCII碼表示),支援NSDate(序列化成<*DYYYY-MM-DD HH:MM:SS timezone>的格式)。
GNUstep也可以讀寫OS X使用的Plist格式。
Mac OS X在支援讀取NeXTSTEP格式的同時,並不鼓勵使用它,而是推薦使用Apple匯入的兩種新格式。
Mac OS X 10.0中,NeXTSTEP的格式被認為是不被推薦的,並匯入了一種新的XML格式,其由Apple定義的公開DTD所規範化。XML格式支援非ASCII格式,亦可儲存NSValue對象。但與GNUstep的ASCII plist格式不同,Apple的NeXTSTEP格式的plist檔案不支援這兩種特性。
由於XML檔案在儲存時不是最有空間效率的,Mac OS X 10.2匯入了一種新的格式,它將plist檔案儲存為二進制檔案。從Mac OS X 10.4開始,這是參數設置檔案的預設格式。
plutil
工具(在Mac OS X 10.2中匯入)可以用來檢查plist的語法,或者對plist檔案進行格式轉換。
可以使用任何文字編輯器對XML格式的plist進行更改,同時,Apple提供了「Property List Editor」應用程式(作為Apple Developer Tools的一部分安裝),它是一個樹狀的檢視器與編輯器,並可以處理二進制格式的plist。
對於XML格式,XML標籤和相關Foundation類、Core Foundation類型、數據儲存格式的關係如下表所示:
defaults
工具可以用於以命令列形式,通過程式的參數設置域,管理用於儲存參數設置的plist檔案;而Property List Editor則可以用於編輯任何plist檔案(包括用於儲存參數設置的)。從Mac OS X 10.4開始,Apple提供了通過System Events應用程式讀寫plist檔案的AppleScript介面,而從Mac OS X 10.5開始,Apple也提供了用於編輯,建立和寫入plist檔案的介面[1]。
Remove ads
參考文獻
參見
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads