如何在GSettings中存储int64值?

时间:2014-12-04 17:28:20

标签: datetime vala gsettings

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

我知道如何在GSettings架构中存储int值,但我想在不将int64转换为int的情况下执行此操作。

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

所以,问题是:在GSettings中存储int64可能吗?如果是的话,怎么样?

1 个答案:

答案 0 :(得分:1)

您可以使用任何Variant类型。 int64的类型字符串为x。然后,您可以使用Variant.int64创建新变体,GLib.Settings.get_valueGLib.Settings.set_value来操纵它。

在大多数情况下,Vala还可以自动封送Variant类型。如果您的架构设置正确,则只需使用set_value调用int64,它就会自动化。同样,如果您将get_value的返回值转换为int64,则无法撤消。