方法

自:2.24

GVariant*
g_variant_iter_next_value (
  GVariantIter* iter
)

获取容器中的下一个项目。如果没有更多项目,则返回 NULL

在不再需要时,使用 g_variant_unref() 释放对返回值的引用。

以下使用 g_variant_iter_next_value() 迭代的示例:

  // recursively iterate a container
  void
  iterate_container_recursive (GVariant *container)
  {
    GVariantIter iter;
    GVariant *child;

    g_variant_iter_init (&iter, container);
    while ((child = g_variant_iter_next_value (&iter)))
      {
        g_print ("type '%s'\n", g_variant_get_type_string (child));

        if (g_variant_is_container (child))
          iterate_container_recursive (child);

        g_variant_unref (child);
      }
  }

自:2.24

返回值

类型: GVariant

一个 GVariantNULL

方法的调用者负责获取的返回数据,并负责释放它。
返回值可以是 NULL