我是新手。
如何将TreeStore存储到文件中?我可以通过TreeModel接口存储来自底层TreeStore的特定值,但是有没有办法将整个底层TreeStore“抓取”为一个值,或者我是否必须遍历TreeStore,一次存储一行?
/ J
答案 0 :(得分:2)
你必须自己遍历TreeStore。
问题是商店没有任何外部表示。 Haskell类型通常有一个Read和Show实例,可用于序列化(假设读取。显示=== id为该类型,这是不礼貌的)。读取和显示不适合所有序列化需求(它们在序列化的时间或大小上都不是特别有效),但在这些情况下,您可以使用Data.Binary。
外部数据类型(包括GLib和Gtk类型)往往没有Read,Show或Binary实例,因此您需要编写自己的实例,或者只需通过手动遍历存储来编写生成String或ByteString的函数