プロパティリストの作成


この節の例では、プロパティリストを作成して操作する方法を示します。エラーチェックコードは、わかりやすくするために削除されています。実際には、悪いパラメータを Core Foundation ルーチンに渡すとアプリケーションがクラッシュする可能性があるため、エラーをチェックすることが 必須 です。


リスト 1 は、CFString オブジェクトの配列である非常に単純なプロパティリストの作成方法を示しています。


リスト 1 : 配列から単純なプロパティリストを作成する


#include <CoreFoundation/CoreFoundation.h>
#define kNumNames 6
 
void main () {
 
    CFStringRef names[kNumNames];
    names[0] = CFSTR("Steve");
    names[1] = CFSTR("Susan");
    names[2] = CFSTR("Sally");
    names[3] = CFSTR("Patrick");
    names[4] = CFSTR("Jeff");
    names[5] = CFSTR("Jane");
 
    // Create a property list using the string array of names
    CFArrayRef array = CFArrayCreate(kCFAllocatorDefault, (const void **)names,
                kNumNames, &kCFTypeArrayCallBacks);
 
    // Convert the plist into XML data
    CFErrorRef myError;
    CFDataRef xmlData = CFPropertyListCreateData(kCFAllocatorDefault, array, 
kCFPropertyListXMLFormat_v1_0, 0, &myError); // Check for errors, do things with the data // Clean up CF objects. CFRelease(array); CFRelease(xmlData); CFRelease(myError); }


リスト 2 は、リスト 1 で作成された xmlData の内容がスクリーンに印刷された場合の外観を示しています。


リスト 2 : サンプルプログラムで作成された XML


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
        "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>Steve</string>
    <string>Susan</string>
    <string>Sally</string>
    <string>Patrick</string>
    <string>Jeff</string>
    <string>Jane</string>
</array>
</plist>


前の章 次の章



目次
Xcode 10 の新機能

  • Core Foundation 用プロパティリストプログラミングトピックへの序言
  • この文書の構成
    プロパティリストの構造と内容
    プロパティリストの作成
    プロパティリストの保存と復元
    プロパティリストでの数値の使用
    プロパティリストの XML タグ
    文書改訂履歴












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)