Как сохранить значение int64 в GSettings?

Я использую GSettings в своем приложении Vala для хранения некоторых данных. И одно из моих полей должно хранить дату. И все функции в Vala, которые управляют датой и временем, возвращают значение int64.

Я знаю, как хранить значения int в схеме GSettings, но я хочу сделать это без преобразования int64 в int.

Я знаю, что в настоящее время это не проблема, и я могу безопасно конвертировать int64 DateTime до int, но когда-нибудь он переполнится и не будет работать правильно.

Итак, вопрос: возможно ли хранение int64 в GSettings? И если да, то как?

1 ответ

Решение

Вы можете использовать любой Variant тип. Строка типа для int64 является x, Вы можете использовать Variant.int64 создать новый вариант и GLib.Settings.get_value а также GLib.Settings.set_value манипулировать этим.

Вала может также встать Variant вводит автоматически в большинстве случаев. Если ваша схема установлена ​​правильно, вы можете просто позвонить set_value с int64 и это будет автоматизировано. Точно так же, если вы разыгрываете возвращение get_value в int64, это будет разоблачено.

Другие вопросы по тегам