Список свойств
Список свойств является представлением иерархии объектов, которые могут храниться в файловой системе и перераспределены позже. Списки свойств дают приложениям легкий и переносимый способ сохранить мелкие суммы данных. Они - иерархии данных, сделанных из определенных типов объектов — они - в действительности, граф объектов. Списки свойств просто создать программно и еще проще сериализировать в представление, которое является персистентным. Приложения могут позже считать статическое представление назад в память и воссоздать исходную иерархию объектов. И Основе Какао и Базовой Основе связали APIs с сериализацией списка свойств и десериализацией.
Типы списка свойств и объекты
Списки свойств состоят только из определенных типов данных: словари, массивы, строки, числа (целое число и плавание), даты, двоичные данные и булевы значения. Словари и массивы являются специальными типами, потому что они - наборы; они могут содержать один или многократные типы данных, включая другие словари и массивы. Это иерархическое вложение объектов создает график объектов. Абстрактные типы данных имеют соответствующие Фундаментальные классы, Базовые типы Основы и элементы XML для объектов коллекции и оценивают объекты, как показано в следующем списке:
Абстрактный тип | Класс платформы основы | Базовый тип Основы | Элемент XML |
---|---|---|---|
Массив |
| ||
Словарь |
| ||
Строка |
| ||
Данные |
| ||
Дата |
| ||
Целое число |
|
| |
Значение с плавающей точкой |
|
| |
Булевская переменная |
|
| |
Непостоянные версии Фундаментальных классов также поддерживаются. |
Коллективно, экземпляры этих классов известны как объекты списка свойств. Например, NSMutableDictionary
объект является объектом списка свойств, как NSNumber
объект, NSString
объект, и т.д. Для списка свойств, чтобы быть допустимыми, все объекты в графе объектов должны быть объектами списка свойств.
Методы наиболее успешной практики для списков свойств
Можно выписать списки свойств и в XML и в двоичных форматах. Двоичный формат намного более компактен, чем версия XML и таким образом более эффективен. Это рекомендуется для большинства ситуаций. Если Вы когда-нибудь должны, Однако можно вручную отредактировать список свойств XML. Файлы списка свойств имеют расширение файла plist
.
Когда объекты имеют переменные настройки переменчивости, Вы не должны использовать списки свойств для хранения больших, сложных графиков объектов, особенно. И Вы не можете использовать списки свойств, чтобы хранить объекты, не поддерживающиеся архитектурой, такой как объекты модели. Для этих случаев используйте архивацию вместо этого. Несмотря на то, что списки свойств могут включать NSData
объекты, лучше не использовать объекты данных в списках свойств для содержания больших сумм двоичных данных.
Сериализация списка свойств
Чтобы сериализировать и десериализовать списки свойств, вызовите надлежащие методы класса NSPropertyListSerialization
класс или, при использовании Базовой Основы, средства имели отношение к CFPropertyListRef
непрозрачный тип. В Какао сериализированный вывод находится в форме NSData
объект. Можно поэтому использовать методы того класса (например, writeToFile:atomically:
) записать что данные в файловую систему и использовать надлежащее NSData
память фабрики классов для чтения его назад в память. Затем при десериализации его можно указать опции переменчивости для списка свойств.