Восстановить объект из архивного файла - PullRequest
0 голосов
/ 04 марта 2012

Я использую

[NSKeyedArchiver archiveRootObject:data toFile:file];

чтобы сохранить NSMutableArray в файл. Это отлично работает.

Проблема возникает, когда я пытаюсь вернуть массив.

NSMutableArray *s = [NSKeyedUnarchiver unarchiveObjectWithData:file];

Здесь я получаю

* * 1010

Что здесь не так?

Ответы [ 2 ]

1 голос
/ 04 марта 2012

Вы пытаетесь использовать unarchiveObjectWithData:, который ожидает, что вы передадите ему содержимое файла. Попробуйте вместо этого использовать unarchiveObjectWithFile:, который ожидает, что вы передадите ему имя файла.

0 голосов
/ 04 марта 2012
NSData* arrayData = [NSData dataWithContentsOfFile:file];
NSMutableArray* s = [NSKeyedUnarchiver unarchiveObjectWithData:arrayData]

Для рабочего кода необходимо выполнить некоторую проверку типа / нуля, прежде чем предположить, что данные верны.

...