Создание списков свойств

Примеры в этом разделе демонстрируют, как создать и работать со списками свойств. Код проверки ошибок был удален для ясности. На практике жизненно важно, чтобы Вы проверили на ошибки, потому что передача плохих параметров в Базовые подпрограммы Основы может заставить Ваше приложение отказывать.

Перечисление 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 показывает как содержание xmlData, создаваемый в Перечислении 1, посмотрел бы, если распечатано на экран.

Перечисление 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>