Как сохранить и загрузить объект, соответствующий протоколу NSCoding? - PullRequest
3 голосов
/ 16 марта 2010

Я создал класс, который соответствует протоколу NSCoding и выполняет все операции кодирования и декодирования.

Для моего приложения я просто хочу сохранить объект из этого класса на устройстве, и при следующем запуске приложения я хочу загрузить этот объект обратно в память.

По сути, это просто класс, который содержит некоторую информацию, вводимую пользователем. Например, пользователь начинает писать текст, но затем выходит из приложения. В следующий раз я хочу загрузить этот объект данных.

Думаю, мне нужен NSKeyedArchiver? Есть хороший учебник по этому вопросу? Как мне это сделать?

1 Ответ

3 голосов
/ 16 марта 2010

Да, вам нужен NSKeyed (Un) Archiver. Эти 2 класса могут конвертировать ваш объект в / из NSData, который вы можете сохранить / загрузить в виде файла.

Чтобы сохранить объект в файл:

if (![NSKeyedArchiver archiveRootObject:your_object toFile:@"filename.plist"])
   // save failed.

Чтобы прочитать объект из файла:

id your_object = [NSKeyedUnarchiver unarchiveObjectWithFile:@"filename.plist"];
if (your_object == nil)
  // read failed.
...