Просто начав изучать iOS, и у меня есть действительно основной вопрос: какой правильный способ архивировать/разблокировать целую коллекцию объектов?iOS: правильный способ архивирования/распаковки коллекции объектов
Я понимаю, что вам сначала нужно реализовать протокол NSCoder для класса. Предполагая, что у меня есть класс, который я могу архивировать и разархивировать правильно, я работаю через пример, который выглядит следующим образом:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *docsDir = [paths objectAtIndex:0];
NSString *archivePath = [docsDir stringByAppendingPathComponent:@"thing.model"];
Thing *thing = [[Thing alloc] init];
[NSKeyedArchiver archiveRootObject:thing toFile:archivePath];
Теперь, это просто экономия один Thing
как файл thing.model
, правильно?
Итак, если у моего приложения много «вещей», и я хочу их архивировать, как вы к этому подошли?
Более конкретно (в случае, если какой-либо контекст помогает), я разрабатываю приложение, поддерживаемое веб-службой, и я хочу иметь возможность создавать/редактировать записи в приложении, сохранять их на диске и периодически синхронизировать объекты, которые я сохранил локально с веб-службой.
Спасибо!
Правильно ли я понимаю, что элементы в массиве также должны соответствовать NSCoder для этого? – Andrew
Вы правы. – rmaddy
Lol, нужно набрать не менее 15 символов, что делает звук «да» очень формальным. Это было очень полезно, спасибо! – Andrew