首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActionScript 3-公共静态常量-我希望它是动态的!

ActionScript 3-公共静态常量-我希望它是动态的!
EN

Stack Overflow用户
提问于 2011-04-14 06:04:19
回答 3查看 2.6K关注 0票数 2

我正在使用purePDF -一个AS3的PDF库-来设置一些报告。我想使用相同的代码来加载动态数量的标题和相应的数据列。但我有这一小段代码:

代码语言:javascript
复制
public static const COLUMNWIDTHS: Vector.<Number> = Vector.<Number>( [3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3] );

我试图处理这个COLUMNWIDTHS问题,但似乎库希望将它设置为一个公共静态常量-我不能以我的方式-一个公共变量。我对AS3涉猎了很多,但是直到我开始为一个项目修改这段代码之前,我还没有遇到过这个问题。

我如何解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-15 22:30:22

好了,各位,你们在这个问题上想得太多了。答案很简单,我在发帖大约5分钟后自己解决了这个问题,但我的电脑在我测试了解决方案后立即崩溃了(没有代码的错误-我的愚蠢的笔记本电脑只是由于i3内核过热而偶尔做了一次,因为很快就会有另一台笔记本电脑)。

提升系统--你是对的--如下:

代码语言:javascript
复制
public static const COLUMNWIDTHS: Vector.<Number> 

需要满足以下条件:

代码语言:javascript
复制
public static var COLUMNWIDTHS: Vector.<Number> 

非常简单的解决方案!

票数 1
EN

Stack Overflow用户

发布于 2011-04-14 06:46:26

我不能完全肯定我理解你的问题。但是看起来你想要动态地改变COLUMNWIDTHS,而且它必须是一个static const

如果这就是问题所在,你可以像这样声明你的Vector来解决它:

代码语言:javascript
复制
public static const COLUMNWIDTHS: Vector.<Number> = new Vector.<Number>();

然后,更新其内容,例如:

代码语言:javascript
复制
        for (var i:int = 0; i < 10; i++) {
            COLUMNWIDTHS[i] = 3;
        }

尽管乍看起来可能有悖常理,但将COLUMNWIDTHS声明为const并不意味着您不能更改对象的内容。它只是意味着引用是恒定的。它指向一个对象,您不能让它指向另一个对象。也就是说,您不能重新分配COLUMNWIDTHS,但您肯定可以更改它的内容。

票数 5
EN

Stack Overflow用户

发布于 2011-06-24 02:01:06

我只是不得不调查同样的问题。这是我能想到的最好的答案:

代码语言:javascript
复制
public static const COLUMNWIDTHS: Vector.<Number> = new <Number>[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3];

它至少可以在Flash 10中运行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5656242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档