第4回 plist(プロパティリスト)とFoundation【後編】:Undocumented Mac OS X(1/3 ページ)
Mac OS Xにおいてオブジェクトの永続化に用いられるファイル形式plist。前回紹介したFoundationと同様に基本的なデータ構造を扱うフレームワークである「CoreFoundation」の紹介を交えつつ、「Mac OS Xの『魂』」であるFoundationとplistの理解を深めていく。
plistとCoreFoundation
CoreFoundationは、C言語で作成された、Foundationと同様に基本的なデータ構造を扱うフレームワークだ。Objective-CベースではないためCocoa以外のCやC++によるフレームワークとも組み合わせられる。
CoreFoundationにはFoundationと同じ文字列や数値、データ、配列、ディクショナリといったクラスが存在し、それぞれCFString、CFNumber、CFArray、CFDictionaryという名前である。もちろんこれらのクラスはplistの要素と1対1で対応している。
CoreFoundationでは、plistの読み書きにはCFPropertyListに属する関数を利用する。リスト1は前回紹介したリスト4を、リスト2は前回紹介したリスト5をそれぞれCoreFoundationで書き直したものだ*。またリスト1の実行結果が実行例1で、リスト2の実行結果が実行例2である。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
CoreFoundationはFoundationに比べ機能が少ないこともあり、少々行数は増えているが、やっていることはほぼ同じであると理解していただけるだろう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
このページで出てきた専門用語
CoreFoundationで書き直したものだ
CoreFoundationでは、ファイルの読み込みや書き出し先の指定はすべてURL(CFURL)で行うように統一されている。
Copyright © ITmedia, Inc. All Rights Reserved.