Список свойств — это строковое (в формате XML) представление данных.

Только классы NSString, NSData, NSArray и NSDictionary из каркаса Foundation могут быть преобразованы в список свойств. Более того, коллекция класса NSArray или NSDictionary может быть преобразована в список свойств лишь в том случае, если она содержит только объекты перечисленных выше классов, а также классов NSDate и NSNumber. (Именно поэтому объект типа UlColor следует преобразовать в объект типа NSData, как упоминалось выше, чтобы сохранить его в пользовательских настройках по умолчанию. Ведь пользовательские настройки по умолчанию представляют собой список свойств.)

Список свойств чаще всего служит для хранения данных в файле. В классах NSArray и NSDictionary предоставляются служебные методы writeToFile:atomically: и writeToURL: atomically: для формирования файлов со списками свойств по заданному пути или URL к файлу соответственно. Они предоставляют также обратные служебные методы для инициализации объекта типа NSArray или NSDictionary в зависимости от содержимого списка свойств из заданного файла. Именно по этой причине вам, скорее всего, придется начинать с одного из этих классов, чтобы составить список свойств. (Ведь методы типа writeToFile: . . . и writeToURL: . . . из классов NSString и NSData просто записывают данные непосредственно в файл, а не выводят их в виде списка свойств.)

Когда объект типа NSArray или NSDictionary формируется из файла со списком свойств описанным выше образом, то все коллекции, а также объекты символьных строк и прочих данных в коллекции оказываются неизменяемыми. Если же требуется сделать их изменяемыми или преобразовать в список свойств экземпляр одного из других классов из списка свойств, то для этой цели служит класс NSPropertyListSerialization (см. документацию Property List Programming Guide).


 

 

 

Добавить комментарий