Понимание списки свойств XML

Предпочтительный способ сохранить списки свойств на OS X и iOS состоит в том, как XML-файл вызвал список свойств XML или XML plist. Эти файлы имеют преимущества того, чтобы быть человекочитаемым и в основанном на стандартах формате XML. NSArray и NSDictionary классы оба имеют методы для сохранения себя как XML plists (например, descriptionWithLocale: и writeToFile:atomically:), и также имейте методы для преобразования списков свойств XML назад в объекты в памяти. CFPropertyList обеспечивает функции для преобразования списков свойств к и от их представления XML.

Базовая Основа поддерживает XML как монопольный носитель для статического представления списков свойств на диске. Какао позволяет спискам свойств быть сохраненными на диске как списки свойств XML в двоичной форме, и как списки свойств «старого стиля». Списки свойств старого стиля могут только быть считаны, не записаны; посмотрите Списки свойств ASCII Старого стиля для получения дополнительной информации.

Обычно существует мало потребности создать или отредактировать свойство XML самостоятельно, но если Вы делаете, используйте встроенного редактора списка свойств XCode или Редактора Списка свойств приложение (который является частью пакета инструментов). Вы не должны редактировать данные XML в текстовом редакторе, если Вы не очень знакомы с синтаксисом XML и форматом списков свойств. Кроме того, элементы в списке свойств XML могли измениться в будущих выпусках, поэтому помнить это.

Даже если Вы не редактируете списки свойств XML, полезно понять их структуру в целях отладки и проекте. Как каждый XML-файл, XML plists начинаются со стандартной информации заголовка и содержат один корневой объект, обернутый с <plist> тег типа документа. <plist> объект также содержит точно один объект, обозначенный одним из элементов XML, перечисленных в Таблице 2-1.

Графики объектов создаются вложением элементы XML, перечисленные в Таблице 2-1. При кодировании словарей, элемента <key> используется для ключей словаря, и один из других тегов списка свойств используется для значения ключа. Вот пример данных XML, сгенерированных от списка свойств:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="1.0">
<dict>
    <key>Author</key>
    <string>William Shakespeare</string>
    <key>Lines</key>
    <array>
        <string>It is a tale told by an idiot,</string>
        <string>Full of sound and fury, signifying nothing.</string>
    </array>
    <key>Birthdate</key>
    <integer>1564</integer>
</dict>
</plist>

Обратите внимание на то, что байты данных основные 64 закодированных между <data> и </data> теги.