2014-12-04 52 views
0

我在我的Vala應用程序中使用GSettings來存儲一些數據。我的一個領域應該存儲日期。 Vala中管理日期和時間的所有函數都返回int64值。如何在GSettings中存儲int64值?

我知道如何在GSettings模式中存儲int值,但我想要做到這一點,而無需將int64轉換爲int。

我知道現在不是問題,我可以安全地將int64 DateTime轉換爲int,但有一天它會溢出並且無法正常工作。

所以,問題是:在GSettings中存儲int64可能嗎?如果是,如何?

回答

1

您可以使用任何Variant類型。 int64的字符串是x。然後,您可以使用Variant.int64創建一個新變體,並使用GLib.Settings.get_valueGLib.Settings.set_value來操縱它。

在大多數情況下,Vala還可以自動編組Variant類型。如果您的模式設置正確,您可以簡單地使用int64調用set_value,它將被自動編組。同樣,如果您將get_value歸還int64,它將被取消。