0

Vala アプリケーションで GSettings を使用してデータを保存しています。そして、私のフィールドの1つに日付を保存する必要があります。また、日付と時刻を管理する Vala のすべての関数は int64 値を返します。

int 値を GSettings スキーマに格納する方法は知っていますが、int64 を int に変換せずに格納したいと考えています。

最近は問題ないことはわかっており、int64 を int に安全に変換できますDateTimeが、いつかオーバーフローして正しく動作しなくなります。

では、質問: GSettings に int64 を格納することは可能ですか? はいの場合、どのように?

4

1 に答える 1

1

どのVariantタイプでも使用できます。のタイプ文字列はint64ですx。その後、 を使用Variant.int64して新しいバリアントを作成し、GLib.Settings.get_valueそれGLib.Settings.set_valueを操作できます。

ほとんどの場合、 Vala はVariant型を自動的にマーシャリングすることもできます。スキーマが正しく設定されていれば、単純set_valueに aint64で呼び出すことができ、自動マーシャリングされます。同様に、get_valuetoの return をキャストするint64と、非整列化されます。

于 2014-12-04T18:48:18.330 に答える