从保存的文件初始化类

问题描述:

在Objective-C++中,我希望我的应用程序能够保存和加载表示某些C++对象存在的文件。例如,用户正在运行该应用程序并创建了类别为A,BC的对象a,bc。用户点击保存以创建一个以某种格式列出这些对象的文件。然后,应用程序应该能够从这个文件加载和初始化新对象xy和类ABz,并C通过调用构造函数A()B()C()。 (这显然是对这个过程的简化。)从保存的文件初始化类

您认为这样做的最佳策略是什么?有没有更优雅的解决方案,而不是一个大的开关语句映射文本到构造函数或沿着这些线的东西?函数指针会帮助我吗?我可以想象做一些像ABC这样的东西注册自己与拥有它们的对象,它存储他们的构造函数在某处的一个关键,但我想知道是否有简单的东西,我错过了。

这里最大的问题是有几十个类必须保存,所以我想要最轻的解决方案。

+1

阅读序列:[http://en.wikipedia.org/wiki/Serialization](http://en.wikipedia.org/wiki/Serialization) –

+0

http://www.boost.org/doc /libs/1_47_0/libs/serialization/doc/index.html – Anthony

上我只是把您的文章评论的后续行动,该文章指出以下有关的Objective-C:

“在Objective-C的编程语言,系列化(通常称为归档)是通过实现覆盖对象根类中的write:read:方法。“

我只是Objective-C的新手,但我很熟悉序列化的概念。在这种情况下,通过重写这些方法,您可以创建一个给定类型的对象,使其能够以您指定的格式将其自身写入文件,并且允许它通过从文件中读取其状态来设置其状态。

我相信Google会透露很多关于此的教程。