本為摘自:http://www.cnblogs.com/geraldzhang/archive/2011/08/24/2152121.html
在Mac OS X 的Cocoa ,NeXTSTEP 和GNUstep 編程架構中, 屬性列表(Property List)檔案是一種用來儲存序列化後的對象的檔案。屬性列表檔案的副檔名為.plist ,因此通常被稱為 plist檔案。
Plist檔案通常用於儲存使用者佈建,也可以用於儲存捆綁的資訊,該功能在舊式的Mac OS中是由資源分支提供的。
使用mac os 和Core Foundation中的property list介面我們可以在層式的對象和xml檔案之間進行轉換。我們可以把xml檔案儲存體起來以後再把它以對象的形式讀取出來。這裡我們來具體討論下property list和他們的表現形式,以及如何在編程過程中使用他們。
這裡我想提到一下NSUserDefault,它其實也是以property list 的形式來儲存的,但是它有限制,比如說NSColor和NSFont等類型式不能夠直接儲存的,我們必須要轉換他們,要把他們轉換成NSData類型來儲存,我想在另一篇文章在詳細說說這個問題。
廢話不多說,我們開始吧。
在編程的過程中,我們可以在項目中建立plist來儲存一些變數,具體的操作步驟File-new-Mac OS X-Resource-Property List。我們在項目中可以以xml形式或者source Code形式來編寫。比如我們的plist原代碼的形式象下面的xml一樣。
Xml代碼
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
- <plist version="1.0">
- <dict>
- <key>Name</key>
- <string>John Doe</string>
- <key>Phones</key>
- <array>
- <string>408-974-0000</string>
- <string>503-333-5555</string>
- </array>
- </dict>
- </plist>