画像に示すように、いくつかの UI コンポーネントを含むアプリケーションの状態を保存したいと考えています。
ユーザーが編集モードを終了すると、ユーザーが後で編集できるように、何らかの形式で作業を保存する必要があります。
からデータを取得できませんsharedObject
。
代わりに、今は を使用したいと思いますIExternalization
。これを使用してユーザーの作業を節約するにはどうすればよいですか?
画像に示すように、いくつかの UI コンポーネントを含むアプリケーションの状態を保存したいと考えています。
ユーザーが編集モードを終了すると、ユーザーが後で編集できるように、何らかの形式で作業を保存する必要があります。
からデータを取得できませんsharedObject
。
代わりに、今は を使用したいと思いますIExternalization
。これを使用してユーザーの作業を節約するにはどうすればよいですか?
この質問には、IExternalizable の使用例があります。
多くの UIComponents の子孫があり、おそらくそれらは親を共有しています。したがって、各クラスを取得してそれらimplements IExternalizable
を記述し、一貫性writeExternal
のreadExternal
あるメソッドのペアを記述して、必要なプロパティ (x、y、タイプなど) のみを保存します。抵抗器と言って、その x、y、タイプを次のように保存します。列挙型または文字列、おそらく回転、それだけです.readExternal
実装を行うときは、すべての値を書き込んだのと同じ順序で読み取り、読み取った値からオブジェクト内のあらゆるものを再構築します. オブジェクトの外部にあるものこれは、これらのオブジェクト (抵抗器、インダクタ、トランジスタなど) のセットを 1 つずつ書き込み、その後addChild()
読み取り時にそれらを書き込みます. これは十分に複雑な構造ですが、適切に行われれば機能します.
はい、これはすべて、ネイティブで利用可能なメソッドを使用して、SharedObject 内に格納できます。registerClassAlias
ただし、 IExternalizable 実装に関係するすべてのクラスのメソッドを呼び出す必要があることに注意してください。