我在Vala应用程序中使用GSettings来存储一些数据。我的一个字段应该存储日期。 Vala中管理日期和时间的所有函数都返回int64值。
我知道如何在GSettings架构中存储int值,但我想在不将int64转换为int的情况下执行此操作。
我知道现在这不是问题,我可以安全地将int64 DateTime
转换为int,但有一天它会溢出并且无法正常工作。
所以,问题是:在GSettings中存储int64可能吗?如果是的话,怎么样?
答案 0 :(得分:1)
您可以使用任何Variant
类型。 int64
的类型字符串为x
。然后,您可以使用Variant.int64
创建新变体,GLib.Settings.get_value
和GLib.Settings.set_value
来操纵它。
在大多数情况下,Vala还可以自动封送Variant
类型。如果您的架构设置正确,则只需使用set_value
调用int64
,它就会自动化。同样,如果您将get_value
的返回值转换为int64
,则无法撤消。