如何在 GSetting 中存储 int64 值



我在我的Vala应用程序中使用GSettings来存储一些数据。我的一个字段应该存储日期。Vala 中管理日期和时间的所有函数都返回 int64 值。

我知道如何在 GSettings 架构中存储 int 值,但我想在不将 int64 转换为 int 的情况下做到这一点。

我知道现在这不是问题,我可以安全地将 int64 DateTime转换为 int,但有一天它会溢出并且无法正常工作。

那么,问题来了:在 GSettings 中存储 int64 是否可能?如果是,如何?

您可以使用

任何Variant类型。int64的类型字符串是 x 。然后,您可以使用Variant.int64创建新的多属性,并GLib.Settings.get_value GLib.Settings.set_value对其进行操作。

在大多数情况下,Vala 还可以自动封送Variant类型。如果架构设置正确,只需使用 int64 调用 set_value,它就会自动编组。同样,如果你将get_value的回归投射到int64,它将是解封的。

相关内容

  • 没有找到相关文章