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