Раньше у меня есть массив, в котором я использую NSKeyedArchiver для архивирования.Как архивировать два объекта с помощью NSKeyedArchiever?
[NSKeyedArchiver archiveRootObject:array toFile:docPath];
Призвал applicationWillTerminate
и applicationDidEnterBackground
.
При запуске в didFinishLaunchingWithOPtions
, массив unarchieved:
NSMutableArray *array = [NSKeyedUnarchiver unarchiveObjectWithFile:docPath];
Все было хорошо. С тех пор я добавил класс Singleton для переменных Settings. Я хотел бы также архивировать Синглтон. Как мне это сделать?
Та часть, которая сбивает с толку меня, если я называю то же сообщение:
[NSKeyedArchiver archiveRootObject:singleton toFile:docPath];
Как приложение знать, какой объект я хочу разархивировать, когда я звоню:
[NSKeyedUnarchiver unarchiveObjectWithFile:docPath];
ли массив или синглтон?
ArchiveRootObject принимает (id), который для меня означает все, что я хочу. Я могу создать класс данных, который включает в себя массив и синглтон. Это то, как я должен это делать? Есть ли способ лучше? Любые предложения приветствуются.
Спасибо!
Спасибо. Я постараюсь поиграть с ним, и я вернусь к вам с тем, что у меня есть. – okysabeni
Чтобы разблокировать, я должен сделать NSData * data = [NSData dataWithContentsOfFile: путь]; затем [[NSKeyedUnarchiver alloc] initForReadingWithData: data]; Надеюсь, это поможет кому-то. – okysabeni
Я могу архивировать и раскреплять правильно, но похоже, что класс Singleton не сохраняется из делегата приложения. Я разместил его как еще один вопрос: – okysabeni