У меня есть пользовательский объект, который просто наследуется от NSObject. Он имеет 3 члена - два поплавка и NSDate
.Сохраняющиеся пользовательские объекты
Мое приложение будет иметь массив с рядом этих объектов, ногами, и мне нужно сохранить его между прогонами. Как я могу это сделать?
Я думал об использовании SQLite db, но я думаю, что это немного перебор, так как единственный запрос, который я когда-либо делал, будет select *
.
В идеальном мире, я хотел бы использовать файл xml plist. Я не уверен, могу ли я сделать это с помощью своего пользовательского объекта. Я знаю, что есть набор объектов Property List, и что NSArray
подпадает под это, но writeToFile:atomically:
работает только с объектами списка свойств.
Любые мысли будут оценены, спасибо!
И это создаст приятный plist? У меня создалось впечатление, что запись NSData будет просто создавать сериализованные данные, а не plist. – Jasarien
Это создает архив NSCoding - файл с сохраненными копиями ваших объектов, вроде файла nib (но вы не можете использовать Interface Builder для его редактирования). Объясните это в «Руководстве по программированию и сериализации программ для какао» в вашей документации. –
По умолчанию он архивирует двоичный диск, но вы можете изменить его на xml plist, если хотите. К сожалению, на самом деле он не читается человеком, поскольку содержит метаданные класса и указателя, а также данные объекта. –