第3回 plist(プロパティリスト)とFoundation【前編】:Undocumented Mac OS X(3/4 ページ)
Mac OS Xにおいてオブジェクトの永続化に用いられるファイル形式plist。今回から2回にわたって、plistとこれに対応するFoundationフレームワークがMac OS Xをどのように支えているのか解説する。
NeXT形式plistの文法
NeXT形式plistの文法は極めて簡単である。小括弧「()」でくくられた中身が配列、中括弧「{}」でくくられた中身がディクショナリを表す。配列の要素ごとの区切りは「,」(カンマ)、ディクショナリの要素ごとの区切りは「;」(セミコロン)である。文字列は「"」(ダブルクオート)でくくられるのが前提だが、空白などほかに紛らわしい要素がなければダブルクオートを省略することも許される。文字列以外のバイナリデータは「<>」でくくられた16進数の集まりで表現される。数値および真偽値に対応する表現は存在しない(リスト1)。
すでに述べたように、Mac OS XではXML形式plistが推奨されており、各フレームワークでもこのNeXT形式(ドキュメントではold-styleとされている)は読み込みのみのサポートとなっている。しかし、いったん慣れるとそらで書けるほどに簡単であり、またXMLに比べれば読みやすいため、defaultsコマンドなどの出力ではいまだ使用されている(実行例1)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
XML形式plistの文法
Mac OS X標準のplistは、XMLを用いた書式になる。前のページで示したリスト2は、リスト1と同じ内容をXMLで書き直したものだ。リスト2に登場していないタグには、データを示すがある。また数値は、整数の
なお、リスト3はリスト1、2と同じデータの構造をRubyでの表現で示したものだ。
{
"キー1" => "値1",
"キー2" => {
"サブキー1" = "値2"
},
"キー3" => [
"配列メンバー1",
"配列メンバー2",
"配列メンバー3"
]
}
Copyright © ITmedia, Inc. All Rights Reserved.