2012-05-18 74 views
1

我使用GSettings來存儲我的應用程序設置。這些格式是「a {q(bsyssbyqqqq)}」,所以它是Dictionary。有沒有辦法將數據追加到現有的GVariant字典?

有時我需要向該字典添加新記錄。我可以從GSettings檢索它作爲GVariant。有什麼方法可以添加一條記錄嗎?

我已經創建了新的GVariantBuilder來創建這個新條目,它工作正常,但其操作結果只是一條記錄。要添加所有剩餘的我需要迭代所有現有的字典條目並將其添加到構建器。有沒有更簡單和更有效的方法來做到這一點?

回答

1

可能爲時已晚,但只是備案,油嘴文檔(http://developer.gnome.org/glib/2.32/glib-GVariant.html)說:

GVariant情況下,總是有一個類型和一個值(在 施工時間給出)。一個GVariant實例的類型和值可以是 永遠不會改變,除非由GVariant本身被破壞。

因此它是不可能改變(添加一些記錄到您的字典)GVariant。做你想做的事的唯一方法就是你現在正在做的事情。

相關問題