有没有办法将数据附加到现有的GVariant字典?

时间:2012-05-18 13:37:32

标签: glib gio

我使用GSettings来存储我的应用程序设置。这些格式为“a {q(bsyssbyqqqq)}”,因此它是字典。

有时我需要在该词典中添加新记录。我可以从GSettings中检索它作为GVariant。有没有办法只添加一条记录?

我创建了新的GVariantBuilder来创建新的条目并且它工作正常,但其操作的结果只是一条记录。要添加所有剩余的我需要迭代所有现有的字典条目并将它们添加到构建器。有没有更简单,更有效的方法呢?

1 个答案:

答案 0 :(得分:1)

可能为时已晚,但仅仅为了记录,glib文档(http://developer.gnome.org/glib/2.32/glib-GVariant.html)说:

  

GVariant 实例始终具有类型和值(在   施工时间)。 GVariant 实例的类型和值可以   除了 GVariant 本身被破坏之外,永远不会改变。

因此无法更改(在您的词典中添加一些记录) GVariant 。做你想做的事的唯一方法就是你现在正在做的事情。