2010-03-15 3 views
3

Я создал класс, который соответствует протоколу NSCoding и выполняет все операции кодирования и декодирования.Как сохранить и загрузить объект, который соответствует протоколу NSCoding?

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

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

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

ответ

3

Да, вам нужен 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. 
+0

Где хранится этот файл? В каталоге документов? Это поддерживается iTunes автоматически? – dontWatchMyProfile

+0

@mystify: где угодно (конечно, вам нужно предоставить полный путь.) Он будет скопирован, если файл будет сохранен в ~/Documents. – kennytm

 Смежные вопросы

  • Нет связанных вопросов^_^