问题描述
|
我正在使用purePDF-AS3的PDF库-设置一些报告。我想使用相同的代码来加载动态数量的标题和相应的数据列。但是我有以下这段代码:
public static const COLUMNWIDTHS: Vector.<Number> = Vector.<Number>( [3,3,3] );
我曾尝试解决此COLUMNWIDTHS问题,但似乎该库希望将其设置为公共静态const-我无法用它的方式-公共var。我大量使用AS3,但是直到我开始为项目修改此代码之前,都没有遇到过这个问题。
我如何解决这个问题?
解决方法
我不确定我是否理解您的问题。但是看起来您想动态更改
COLUMNWIDTHS
,但它也必须是static const
。
如果那是问题,您可以修复它,声明您的Vector
是这样的:
public static const COLUMNWIDTHS: Vector.<Number> = new Vector.<Number>();
然后,更新其内容,例如:
for (var i:int = 0; i < 10; i++) {
COLUMNWIDTHS[i] = 3;
}
尽管乍看之下似乎有点违反直觉,但是将ѭ1声明为const
的事实并不意味着您不能更改对象的内容。它仅表示参考是恒定的。它指向一个对象,而您不能使其指向另一个。也就是说,您无法重新分配COLUMNWIDTHS
,但是您可以更改其内容。
,我只需要研究同样的问题。这是我能想到的最佳答案:
public static const COLUMNWIDTHS: Vector.<Number> = new <Number>[3,3,3];
它至少可以在Flash 10中使用。
,好的,人们,您在这个问题上想得太辛苦了。答案很简单,我在发帖后大约5分钟就自行弄清楚了,但是我在测试解决方案后立即崩溃了(代码没有错-我的笨拙的笔记本电脑由于过热而偶尔这样做了) i3核心[即将获得另一台笔记本电脑]。
提升系统-您是对的-以下内容:
public static const COLUMNWIDTHS: Vector.<Number>
需要是 :
public static var COLUMNWIDTHS: Vector.<Number>
很简单的解决方案!