2011-11-29 83 views
0

在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

回答

0

上我只是把您的文章評論的後續行動,該文章指出以下有關的Objective-C:

「在Objective-C的編程語言,系列化(通常稱爲歸檔)是通過實現覆蓋對象根類中的write:read:方法。「

我只是Objective-C的新手,但我很熟悉序列化的概念。在這種情況下,通過重寫這些方法,您可以創建一個給定類型的對象,使其能夠以您指定的格式將其自身寫入文件,並且允許它通過從文件中讀取其狀態來設置其狀態。

我相信Google會透露很多關於此的教程。