Инициализация классов из сохраненного файла - PullRequest
0 голосов
/ 29 ноября 2011

В Objective-C ++ я хочу, чтобы мое приложение могло сохранять и загружать файлы, которые выражают существование определенных объектов C ++. Например, пользователь запускает приложение и создал объекты a, b и c классов A, B и C. Пользователь нажимает сохранить, чтобы создать файл, который перечисляет эти объекты в каком-либо формате. Затем приложение должно иметь возможность загружать из этого файла и инициализировать новые объекты x, y и z классов A, B и C, вызывая конструкторы A(), B() и C(). (Это, очевидно, значительное упрощение процесса.)

Какая, на ваш взгляд, лучшая стратегия для этого? Есть ли более элегантное решение, чем большой оператор switch, отображающий текст в конструкторы или что-то в этом роде? Помогут ли мне функциональные указатели? Я мог бы представить себе что-то вроде регистрации A, B и C с помощью объекта, которому они принадлежат, и где-то хранятся их конструкторы с ключом, но мне интересно, есть ли что-то простое, что м отсутствует.

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

1 Ответ

0 голосов
/ 29 ноября 2011

В продолжение комментария, который я только что добавил в ваш пост, в этой статье говорится о Objective-C:

"В языке программирования Objective-C достигается сериализация (более известная как архивирование)переопределив методы write: и read: в корневом классе объектов. "

Я только новичок в Objective-C, но я знаком с концепцией сериализации.В этом случае, переопределяя эти методы, вы создаете объект заданного типа, способный записывать себя в файл в указанном вами формате, а также вы позволяете ему устанавливать свое состояние, читая его состояние из файла.

Я уверен, что Google покажет много учебников по этому вопросу.

...