2

私はパズル ゲームに取り組んでいます。ゲーム エンジンは、ゲーム アクターからベクトル、遷移アニメーションまで、オブジェクトの複雑な階層を保持しています。ゲームの状態によっては、合計で 10 から 1000 になる場合があります (極端な場合)。私はこれについての経験がないので、そのすべての混乱の保存と読み込みに取り組む必要があるまでその瞬間を遅らせてきましたが、今、私が恐れていた瞬間が来ようとしています.

これに NSKeyedArchiver を使用するのは良い考えですか? そのコンセプトは強力なようです。そうすれば、オブジェクトの状態を再構築できますが、保存されたオブジェクト間のポインターは含まれますか? また、パフォーマンスに関してはどのように動作しますか? アプリの終了時に、システムがこれらすべてのオブジェクトをディスクに保存する時間はありますか?

4

2 に答える 2

1

NSKeyedArchiver は非常に強力ですが、オブジェクト間のリンクを保持することはできません (アンアーカイブ後に自分で追加しない限り)。データセット全体をアトミックに保存できる/必要がある場合は、おそらく NSKeyedArchiver が適していますが、親子関係よりも複雑なものがある場合は、「再水和」が必要になります。

データ オブジェクトの複雑な階層があり、それらを SQLite データベースに保存し、抽出するときに再接続します。

于 2008-11-21T03:25:26.660 に答える
0

オブジェクト間の参照を維持する NSKeyedArchiver を選びました。ここを参照してください:相互リンクされたオブジェクトをアーカイブする簡単な方法

于 2009-07-16T03:58:50.587 に答える