Ссылка CFPropertyList
CFPropertyList обеспечивает функции, преобразовывающие объекты списка свойств в и от нескольких сериализованных форматов, таких как XML. CFPropertyListRef
введите, который обозначает, что объекты CFPropertyList являются абстрактным типом для объектов списка свойств. В зависимости от содержания данных XML, используемых для создания списка свойств, CFPropertyListRef
может быть любой из объектов списка свойств: CFData, CFString, CFArray, CFDictionary, CFDate, CFBoolean и CFNumber. Обратите внимание на то, что при использовании списка свойств для генерации XML, ключи любых словарей в списке свойств должны быть объектами CFString.
Важно понять, что CFPropertyList обеспечивает абстракцию для всех типов списка свойств — можно думать о CFPropertyList в объектно-ориентированных условиях, как являющихся суперклассом CFString, CFNumber, CFDictionary, и т.д. Когда Базовая функция Основы возвращает a CFPropertyListRef
, это означает, что значение может быть любым из типов списка свойств. Например, CFPreferencesCopyAppValue
возвраты a CFPropertyListRef
. Это означает, что значение возвратилось, может быть объект CFString, объект CFNumber, объект CFDictionary, и т.д. снова. Можно использовать CFGetTypeID
определить, какой объект значение списка свойств.
Вы используете один из CFPropertyListCreate...
функции для создания списка свойств возражают данный существующий объект списка свойств, необработанные данные XML (как в файле), или поток. Можно также преобразовать объект списка свойств в XML использование CFPropertyListCreateXMLData
функция. Вы используете CFPropertyListWriteToStream
функционируйте, чтобы записать список свойств в поток вывода и проверить объект списка свойств использование CFPropertyListIsValid
функция. CFPropertyList должным образом заботится о проблемах порядка байтов — список свойств (представленный ли потоком, XML или объектом CFData) создаваемый на основанном на PowerPC Macintosh правильно интерпретируется на основанном на Intel Macintosh, и наоборот.
Для примеров кода, иллюстрирующих, как считать и записать файлы списка свойств, посмотрите, что Список свойств Программирует Темы для Базовой Основы и в определенном Сохранении и Восстановлении Списков свойств.
-
Создает список свойств из данного объекта CFData.
Объявление
Swift
func CFPropertyListCreateWithData(_
allocator
: CFAllocator!, _data
: CFData!, _options
: CFOptionFlags, _format
: UnsafeMutablePointer<CFPropertyListFormat>, _error
: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<CFPropertyList>!Objective C
CFPropertyListRef CFPropertyListCreateWithData ( CFAllocatorRef allocator, CFDataRef data, CFOptionFlags options, CFPropertyListFormat *format, CFErrorRef *error );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта списка свойств. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.data
Объект CFData, содержащий сериализированное представление списка свойств.
options
A
CFPropertyListMutabilityOptions
постоянный для указания переменчивости возвращенного списка свойств — посмотрите Опции Переменчивости Списка свойств для возможных значений.format
Если этот параметр не -
NULL
, по возврату это будет установлено в формат данных. Посмотрите Форматы Списка свойств для возможных значений.error
Если этот параметр не -
NULL
, если ошибка произойдет, то по возврату это будет содержать ошибку CFError при описании проблемы. Владение соблюдает Создать Правило.Возвращаемое значение
Новый список свойств, создаваемый из данных в
data
. Если ошибка происходит при парсинге данных, возвратовNULL
. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.6 и позже.
-
Создайте и возвратите список свойств с вводом CFReadStream.
Объявление
Swift
func CFPropertyListCreateWithStream(_
allocator
: CFAllocator!, _stream
: CFReadStream!, _streamLength
: CFIndex, _options
: CFOptionFlags, _format
: UnsafeMutablePointer<CFPropertyListFormat>, _error
: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<CFPropertyList>!Objective C
CFPropertyListRef CFPropertyListCreateWithStream ( CFAllocatorRef allocator, CFReadStreamRef stream, CFIndex streamLength, CFOptionFlags options, CFPropertyListFormat *format, CFErrorRef *error );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта списка свойств. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.stream
CFReadStream, содержащий сериализированное представление списка свойств.
streamLength
Число байтов для чтения из потока. Передача
0
для чтения до, конец потока обнаруживается.options
A
CFPropertyListMutabilityOptions
постоянный для указания переменчивости возвращенного списка свойств — посмотрите Опции Переменчивости Списка свойств для возможных значений.format
Если этот параметр не -
NULL
, по возврату это будет установлено в формат данных. Посмотрите Форматы Списка свойств для возможных значений.error
Если этот параметр не -
NULL
, если ошибка произойдет, то по возврату это будет содержать ошибку CFError при описании проблемы. Владение соблюдает Создать Правило.Возвращаемое значение
Новый список свойств, создаваемый из данных в
stream
. Если ошибка происходит при парсинге данных, возвратовNULL
. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.6 и позже.
-
Рекурсивно создает копию данного списка свойств.
Объявление
Swift
func CFPropertyListCreateDeepCopy(_
allocator
: CFAllocator!, _propertyList
: CFPropertyList!, _mutabilityOption
: CFOptionFlags) -> CFPropertyList!Objective C
CFPropertyListRef CFPropertyListCreateDeepCopy ( CFAllocatorRef allocator, CFPropertyListRef propertyList, CFOptionFlags mutabilityOption );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового списка свойств. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.propertyList
Список свойств для копирования. Это может быть любым из стандартных объектов списка свойств, например CFArray или объект CFDictionary.
mutabilityOption
Константа, указывающая степень переменчивости возвращенного списка свойств. Посмотрите Опции Переменчивости Списка свойств для описаний возможных значений.
Возвращаемое значение
Новый список свойств, который является копией
propertyList
. Владение соблюдает Создать Правило.Обсуждение
Рекурсивно создает копию данного списка свойств так вложенные массивы, и словари копируются, а также самый верхний контейнер.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Создает список свойств с помощью указанного XML или двоичных данных списка свойств.
Объявление
Swift
func CFPropertyListCreateFromXMLData(_
allocator
: CFAllocator!, _data
: CFData!, _mutabilityOption
: CFOptionFlags, _errorString
: UnsafeMutablePointer<Unmanaged<CFString>?>) -> Unmanaged<CFPropertyList>!Objective C
CFPropertyListRef CFPropertyListCreateFromXMLData ( CFAllocatorRef allocator, CFDataRef xmlData, CFOptionFlags mutabilityOption, CFStringRef *errorString );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового списка свойств. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.data
Необработанные байты для преобразования в список свойств. Байты могут быть содержанием XML-файла или двоичного списка свойств (см. Форматы Списка свойств).
mutabilityOption
Константа, указывающая степень переменчивости для возвращенного списка свойств. Посмотрите Опции Переменчивости Списка свойств для описаний возможных значений.
errorString
По возврату,
NULL
если преобразование успешно, иначе строка, описывающая природу ошибки. Сообщения об ошибках не локализуются, но могут быть в будущем, таким образом, они не в настоящее время подходят для сравнения.Передача
NULL
если Вы не хотите получать строку ошибки. Владение соблюдает Создать Правило.Возвращаемое значение
Новый список свойств, если преобразование успешно, иначе
NULL
. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.10.
-
Создает список свойств с помощью данных от потока.
Объявление
Swift
func CFPropertyListCreateFromStream(_
allocator
: CFAllocator!, _stream
: CFReadStream!, _streamLength
: CFIndex, _mutabilityOption
: CFOptionFlags, _format
: UnsafeMutablePointer<CFPropertyListFormat>, _errorString
: UnsafeMutablePointer<Unmanaged<CFString>?>) -> Unmanaged<CFPropertyList>!Objective C
CFPropertyListRef CFPropertyListCreateFromStream ( CFAllocatorRef allocator, CFReadStreamRef stream, CFIndex streamLength, CFOptionFlags mutabilityOption, CFPropertyListFormat *format, CFStringRef *errorString );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового списка свойств. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.stream
Поток, данные которого содержат содержание. Поток должен быть открыт и сконфигурирован — эта функция просто читает байты из потока. Поток может содержать любой поддерживаемый тип списка свойств (см. Форматы Списка свойств).
streamLength
Число байтов для чтения. Если
0
, эта функция будет читать до конца потока.mutabilityOption
Константа, указывающая степень переменчивости для возвращенного списка свойств. Посмотрите Опции Переменчивости Списка свойств для описаний возможных значений.
format
Константа, указывающая формат списка свойств. Посмотрите Форматы Списка свойств для возможных значений.
errorString
По возврату,
NULL
если преобразование успешно, иначе строка, описывающая природу ошибки. Сообщения об ошибках не локализуются, но могут быть в будущем, таким образом, они не подходят для сравнения.Передача
NULL
если Вы не хотите получать строку ошибки. Владение соблюдает Создать Правило.Возвращаемое значение
Новый список свойств, инициализированный с данными, содержавшимися в
stream
. Владение соблюдает Создать Правило.Обсуждение
Эта функция просто читает байты из
stream
запуск в текущем расположении до конца, которое, как ожидают, будет концом списка свойств, или до числа байтов, указанныхstreamLength
если это не0
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.2 и позже.
Осуждаемый в OS X v10.10.
-
Возвращает объект CFData, содержащий сериализированное представление данного списка свойств в указанном формате.
Объявление
Swift
func CFPropertyListCreateData(_
allocator
: CFAllocator!, _propertyList
: CFPropertyList!, _format
: CFPropertyListFormat, _options
: CFOptionFlags, _error
: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<CFData>!Objective C
CFDataRef CFPropertyListCreateData ( CFAllocatorRef allocator, CFPropertyListRef propertyList, CFPropertyListFormat format, CFOptionFlags options, CFErrorRef *error );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта данных. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.propertyList
Список свойств для выписывания.
format
CFPropertyListFormat, постоянный для указания формата данных. Посмотрите Форматы Списка свойств для возможных значений.
options
Этот параметр в настоящее время не использован и должен быть установлен на
0
.error
Если этим параметром будет не-NULL, если ошибка произойдет, то по возврату это будет содержать ошибку CFError при описании проблемы. Владение соблюдает Создать Правило.
Возвращаемое значение
Объект CFData, содержащий сериализированное представление
propertyList
в формат, указанныйformat
. Владение соблюдает Создать Правило.Обсуждение
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.6 и позже.
-
Запишите байты сериализированного списка свойств к потоку.
Объявление
Swift
func CFPropertyListWrite(_
propertyList
: CFPropertyList!, _stream
: CFWriteStream!, _format
: CFPropertyListFormat, _options
: CFOptionFlags, _error
: UnsafeMutablePointer<Unmanaged<CFError>?>) -> CFIndexObjective C
CFIndex CFPropertyListWrite ( CFPropertyListRef propertyList, CFWriteStreamRef stream, CFPropertyListFormat format, CFOptionFlags options, CFErrorRef *error );
Параметры
propertyList
Список свойств для выписывания.
stream
CFWriteStream, в который можно записать данные. Поток должен быть открыт и сконфигурирован.
format
CFPropertyListFormat, постоянный для указания формата данных. Посмотрите Форматы Списка свойств для возможных значений.
options
Этот параметр в настоящее время не использован и должен быть установлен на
0
.error
Если этим параметром будет не-NULL, если ошибка произойдет, то по возврату это будет содержать ошибку CFError при описании проблемы. Владение соблюдает Создать Правило.
Возвращаемое значение
Число байтов, записанных в
stream
. Если ошибка происходит, возвраты0
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.6 и позже.
-
Создает представление XML указанного списка свойств.
Объявление
Swift
func CFPropertyListCreateXMLData(_
allocator
: CFAllocator!, _propertyList
: CFPropertyList!) -> Unmanaged<CFData>!Objective C
CFDataRef CFPropertyListCreateXMLData ( CFAllocatorRef allocator, CFPropertyListRef propertyList );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта данных. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.propertyList
Список свойств для преобразования. Это может быть любым из стандартных объектов списка свойств, например CFArray или объект CFDictionary.
Возвращаемое значение
Объект CFData, содержащий данные XML. Владение соблюдает Создать Правило.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.10.
-
Пишут байты сериализации списка свойств к потоку.
Объявление
Swift
func CFPropertyListWriteToStream(_
propertyList
: CFPropertyList!, _stream
: CFWriteStream!, _format
: CFPropertyListFormat, _errorString
: UnsafeMutablePointer<Unmanaged<CFString>?>) -> CFIndexObjective C
CFIndex CFPropertyListWriteToStream ( CFPropertyListRef propertyList, CFWriteStreamRef stream, CFPropertyListFormat format, CFStringRef *errorString );
Параметры
propertyList
Список свойств для выписывания.
stream
Поток для записи в. Поток должен быть открыт и сконфигурирован — эта функция просто пишет байты в поток.
format
Константа, указывающая формат, раньше писала
propertyList
. Посмотрите Форматы Списка свойств для возможных значений.errorString
По возврату,
NULL
если преобразование успешно, иначе строка, описывающая природу ошибок. Сообщения об ошибках не локализуются, но могут быть в будущем, таким образом, они не в настоящее время подходят для сравнения.Передача
NULL
если Вы не хотите получать строку ошибки. Владение соблюдает Создать Правило.Возвращаемое значение
Число записанных байтов, или
0
если произошла ошибка. Если0
возвращается,errorString
будет содержать сообщение об ошибке.Обсуждение
Эта функция оставляет поток открытым после чтения содержания. При чтении списка свойств эта функция ожидает, что поток чтения закончится везде, где запись закончилась, так, чтобы мог быть идентифицирован конец данных списка свойств.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.2 и позже.
Осуждаемый в OS X v10.10.
-
Определяет, допустим ли список свойств.
Объявление
Swift
func CFPropertyListIsValid(_
plist
: CFPropertyList!, _format
: CFPropertyListFormat) -> BooleanObjective C
Boolean CFPropertyListIsValid ( CFPropertyListRef plist, CFPropertyListFormat format );
Параметры
plist
Список свойств для проверки.
format
Константа, указывающая допустимый формат
plist
. Посмотрите Форматы Списка свойств для возможных значений.Возвращаемое значение
true
если граф объектов базировался вplist
допустимый график списка свойств — т.е. список свойств не содержит циклов, только содержит объекты списка свойств, и все ключи словаря являются строками; иначеfalse
.Обсуждение
Версия библиотеки отладки этой функции распечатывает некоторые полезные сообщения.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.2 и позже.
-
Ссылка на объект CFPropertyList.
Объявление
Swift
typealias CFPropertyListRef = CFPropertyList
Objective C
typedef CFTypeRef CFPropertyListRef;
Обсуждение
Это - абстрактный тип для объектов списка свойств. Возвращаемое значение
CFPropertyListCreateFromXMLData
функция зависит от содержания данных данных XML.CFPropertyListRef
может быть ссылка на любой из объектов списка свойств: CFData, CFString, CFArray, CFDictionary, CFDate, CFBoolean и CFNumber.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Введите для флагов, определяющих степень переменчивости недавно создаваемых списков свойств.
Объявление
Swift
struct CFPropertyListMutabilityOptions : RawOptionSetType { init(_
rawValue
: CFOptionFlags) init(rawValuerawValue
: CFOptionFlags) static var Immutable: CFPropertyListMutabilityOptions { get } static var MutableContainers: CFPropertyListMutabilityOptions { get } static var MutableContainersAndLeaves: CFPropertyListMutabilityOptions { get } }Objective C
typedef enum CFPropertyListMutabilityOptions CFPropertyListMutabilityOptions;
Обсуждение
Посмотрите Опции Переменчивости Списка свойств для возможных значений.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Указывает формат списка свойств.
Объявление
Swift
enum CFPropertyListFormat : CFIndex { case OpenStepFormat case XMLFormat_v1_0 case BinaryFormat_v1_0 }
Objective C
enum CFPropertyListFormat { kCFPropertyListOpenStepFormat = 1, kCFPropertyListXMLFormat_v1_0 = 100, kCFPropertyListBinaryFormat_v1_0 = 200 }; typedef enum CFPropertyListFormat CFPropertyListFormat;
Константы
-
OpenStepFormat
kCFPropertyListOpenStepFormat
Формат OpenStep (использованию этого формата обескураживают).
Доступный в OS X v10.2 и позже.
-
XMLFormat_v1_0
kCFPropertyListXMLFormat_v1_0
Версия формата XML 1.0.
Доступный в OS X v10.2 и позже.
-
BinaryFormat_v1_0
kCFPropertyListBinaryFormat_v1_0
Версия 1.0 двоичного формата.
Доступный в OS X v10.2 и позже.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.2 и позже.
-
-
Флаги опции, определяющие степень переменчивости недавно создаваемых списков свойств.
Объявление
Swift
struct CFPropertyListMutabilityOptions : RawOptionSetType { init(_
rawValue
: CFOptionFlags) init(rawValuerawValue
: CFOptionFlags) static var Immutable: CFPropertyListMutabilityOptions { get } static var MutableContainers: CFPropertyListMutabilityOptions { get } static var MutableContainersAndLeaves: CFPropertyListMutabilityOptions { get } }Objective C
enum CFPropertyListMutabilityOptions { kCFPropertyListImmutable = 0, kCFPropertyListMutableContainers = 1, kCFPropertyListMutableContainersAndLeaves = 2 };
Константы
-
Immutable
kCFPropertyListImmutable
Указывает, что список свойств должен быть неизменным.
Доступный в OS X v10.0 и позже.
-
MutableContainers
kCFPropertyListMutableContainers
Указывает, что список свойств должен иметь непостоянные контейнеры, но неизменные листы.
Доступный в OS X v10.0 и позже.
-
MutableContainersAndLeaves
kCFPropertyListMutableContainersAndLeaves
Указывает, что список свойств должен иметь непостоянные контейнеры и непостоянные листы.
Доступный в OS X v10.0 и позже.
-
-
Коды ошибки для чтения списка свойств и записи функций такой как
CFPropertyListCreateWithData
.Объявление
Swift
var kCFPropertyListReadCorruptError: Int { get } var kCFPropertyListReadUnknownVersionError: Int { get } var kCFPropertyListReadStreamError: Int { get } var kCFPropertyListWriteStreamError: Int { get }
Objective C
enum { kCFPropertyListReadCorruptError = 3840, kCFPropertyListReadUnknownVersionError = 3841, kCFPropertyListReadStreamError = 3842, kCFPropertyListWriteStreamError = 3851, };
Константы
-
kCFPropertyListReadCorruptError
kCFPropertyListReadCorruptError
Показывает ошибку при парсинге списка свойств.
Доступный в OS X v10.6 и позже.
-
kCFPropertyListReadUnknownVersionError
kCFPropertyListReadUnknownVersionError
Показывает, что номер версии в списке свойств неизвестен.
Доступный в OS X v10.6 и позже.
-
kCFPropertyListReadStreamError
kCFPropertyListReadStreamError
Показывает потоковую ошибку, читая список свойств.
Доступный в OS X v10.6 и позже.
-
kCFPropertyListWriteStreamError
kCFPropertyListWriteStreamError
Показывает потоковую ошибку, пишущий список свойств.
Доступный в OS X v10.6 и позже.
-