Как сохранить и загрузить объект, соответствующий протоколу NSCoding?
-
20-09-2019 - |
Вопрос
Я создал класс, который соответствует протоколу 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.