Как сохранить и загрузить объект, соответствующий протоколу NSCoding?

StackOverflow https://stackoverflow.com/questions/2450492

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

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

id your_object = [NSKeyedUnarchiver unarchiveObjectWithFile:@"filename.plist"];
if (your_object == nil)
  // read failed.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top