1

GSettings を使用して、アプリケーションの設定を保存します。これらの形式は「a{q(bsyssbyqqqq)}」なので辞書です。

その辞書に新しいレコードを追加する必要がある場合があります。GSettings から GVariant として取得できます。レコードを 1 つだけ追加する方法はありますか?

その新しいエントリを作成するために新しい GVariantBuilder を作成しましたが、正常に動作しますが、操作の結果は 1 つのレコードにすぎません。残りのすべてを追加するには、既存のすべての辞書エントリを反復処理してビルダーに追加する必要があります。それを行うためのより簡単で効率的な方法はありますか?

4

1 に答える 1

1

おそらく遅すぎますが、記録として、glib のドキュメント ( http://developer.gnome.org/glib/2.32/glib-GVariant.html ) は次のように述べています。

GVariantインスタンスには、常に型と値 (構築時に指定) があります。GVariantインスタンスの型と値は、GVariant自体が破棄されない限り変更できません。

したがって、 GVariantを変更 (辞書にレコードを追加) することはできません。あなたがしたいことをする唯一の方法は、まさにあなたが今やっていることです。

于 2012-08-03T10:06:10.403 に答える