1

我需要从属性文件中访问键值对,以及键的子字符串和确切的值,但这不应该改变任何东西。

当您查看 Adob​​e 文档和帮助页面时,例如http://help.adobe.com/en_US/Flex/4.0/UsingSDK/WS2db454920e96a9e51e63e3d11c0bf69084-7f2c.html(最后一段),您可以看到 Adob​​e 提到 ResourceBundle 的内容属性包含来自给定包的键值对。

ResourceBundle 的 ASDoc 还说:“子类覆盖此方法以返回一个包含捆绑资源的键值对的对象。” 然而,ASDoc 也说这个属性适用于 Flex 3。

无论如何,内容属性(对象类型)似乎没有存储键值对,因为我只得到值,而不是键。

我有点迷路了,如果有人有这方面的信息,请拍摄!

4

1 回答 1

1

ASDoc forResourceBundle说这个类和它的 API 从 Flex 3 开始可用。所以该文档对 Flex 4 及更高版本仍然有效。

确保您使用的是“for in”循环而不是“for each”循环。“for in”循环遍历对象的属性名称,而“for each”循环遍历值。

此代码创建一个ResourceBundle并迭代属性:

var rb:ResourceBundle = new ResourceBundle("en_US", "bundleName");
rb.content["foo"] = "Bar";
rb.content["hello"] = "Howdy!";

for (var key:String in rb.content)
{
    trace("the key is: ", key);
    trace("the value is: ", rb.content[key]);
}

在迭代时,每个键都存储在 var 中key,并且可以使用content[key].

在带有真实资源包文件的真实应用程序中,您从资源管理器(从您链接到的文档中)检索资源包:

var rb:ResourceBundle =  ResourceBundle(resourceManager.getResourceBundle("en_US", "RegistrationForm"))

然后你应该能够像上面那样迭代它的内容。

于 2012-04-26T15:24:32.867 回答