方法
GLibVariantget_child_value
自 2.24
声明 [src]
GVariant*
g_variant_get_child_value (
GVariant* value,
gsize index_
)
描述 [src]
从 GVariant
实例的容器中读取子项。这包括变体、可能值、数组、元组和字典条目。在任何其他类型的 GVariant
上调用此函数将是错误。
如果 index_
大于容器中子项的数量,则是一个错误。详见 g_variant_n_children()。
返回值从不为浮点数。您应在使用完毕后使用 g_variant_unref()
释放它。
请注意,从返回的子对象借用的值在释放子对象后可能已不再有效,即使您仍然保持对 value
的引用,如果在此函数调用时 value
还未被序列化。为避免这种情况,您可以通过调用 g_variant_get_data()
并可选地忽略返回值来对 value
进行序列化。
对于深度嵌套的值,可能存在实现特定的限制,这会导致单位元组作为子值返回,而不是进一步嵌套的子值。为了保证 GVariant
至少可以处理最多 64 层的嵌套。
此函数是 O(1)。
自版本 2.24 以来提供。
返回值
类型: GVariant
指定索引处的子对象。
该方法调用者负责获取返回的数据的所有权,并负责释放它。 |