如何在brightscript中清除全局roArray的内容



我创建了roArray并添加到全局范围中,如下所示

columnSize = CreateObject("roArray", 3 , true)
m.global.addFields({guideColumnSize: columnSize})

我将这些值添加到指南ColumnSize中,如下所示

columnSize = m.global.guideColumnSize
columnSize[x] = adjustColumn

我可以在添加值后打印。我添加了5个值48。但是我无法清除、删除或修改数组中的值。这些请求将被忽略。

我试过

m.global.guideColumnSize.delete(0)
m.global.guideColumnSize.clear()
m.global.guideColumnSize[0] = 2

什么都不起作用。我唯一能执行的操作是将值附加到数组的末尾。有人能告诉我如何在brightscript中修改或清除全局roArray的内容吗?

要清除或删除brightscript中的全局变量,请使用以下代码

m.global.guideColumnSize = invalid

m.global.setFields({guideColumnSize : invalid})

您可以重新初始化roArray对象,并将其存储到相同的全局变量中

不能直接在全局节点中修改数组/关联数组中的元素。您必须访问对象,对其进行修改,然后将其保存回全局字段(有关更多详细信息,请参阅SceneGraph数据范围(。

假设与您的示例结构相同,您可以执行以下操作:

columnSize = [1, 2, 3]
m.global.addFields({guideColumnSize: columnSize})
newColumnSize = m.global.guideColumnSize
newColumnSize[1] = 0
m.global.guideColumnSize = newColumnSize

打印m.global.guideColumnSize将返回[1, 0, 3]

您只是错过了将修改后的数组重新分配回全局字段的步骤。

要清除全局节点字段,可以使用m.global.removeField("guideColumnSize")或简单地设置m.global.guideColumnSize = invalid

相关内容

  • 没有找到相关文章

最新更新