Actionscript 3 ActionScript 3-公共静态常量-我希望这是动态的!
我正在使用purePDF(用于AS3的PDF库)来设置一些报告。我想使用相同的代码来加载动态数量的标题和相应的数据列。但我有一段代码:Actionscript 3 ActionScript 3-公共静态常量-我希望这是动态的!,actionscript-3,Actionscript 3,我正在使用purePDF(用于AS3的PDF库)来设置一些报告。我想使用相同的代码来加载动态数量的标题和相应的数据列。但我有一段代码: 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] ); public static const COLUMNWIDTHS:
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] );
public static const COLUMNWIDTHS:Vector.=向量([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有很多涉猎,但直到我开始为一个项目修改此代码时才遇到这个问题
我该如何回避这个问题?我不完全确定我是否理解你的问题。但它看起来像是要动态更改
列宽度
,但它必须是静态常量
如果这是问题所在,您可以通过如下方式声明向量来修复它:
public static const COLUMNWIDTHS: Vector.<Number> = new Vector.<Number>();
public static const COLUMNWIDTHS:Vector.=新向量();
然后,更新其内容,例如:
for (var i:int = 0; i < 10; i++) {
COLUMNWIDTHS[i] = 3;
}
for(变量i:int=0;i<10;i++){
列宽[i]=3;
}
虽然一开始看起来可能有悖常理,COLUMNWIDTHS
被声明为const
,但这并不意味着不能更改对象的内容。它只是意味着引用是常量。它指向一个对象,而您不能让它指向另一个对象。也就是说,您不能重新分配列宽
,但您肯定可以更改其内容。好了,各位,您在这个问题上想得太多了。答案很简单,我在发帖5分钟后就自己找到了答案,但我的电脑在测试解决方案后就崩溃了(代码没有错——我那愚蠢的笔记本电脑只是偶尔会因为i3内核过热而崩溃一次(很快就会有另一台笔记本电脑)
扬升系统-你是对的-以下几点:
public static const COLUMNWIDTHS: Vector.<Number>
publicstaticconstcolumnwidths:Vector。
需要:
public static var COLUMNWIDTHS: Vector.<Number>
publicstaticvar列宽:Vector。
非常简单的解决方案 我只需要研究一下同样的问题。以下是我能想到的最好答案:
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];
public static const COLUMNWIDTHS:Vector.=新的[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中使用。您不能将其作为公共静态变量使用?如果您的PDF库存在问题,您可能需要查看:。实际上,PDF库purePDF非常棒!它是Java iText库的一个端口。iText中唯一没有的重要功能是ChartFactory,因此开发人员最终会为piecharts寻找代码,但除此之外,它非常棒。非常好的例子,它是我的TCPDF(PHP库)的新替代品。Flash非常适合创建PDF报告-纯PHP解决方案对于带有图表和图形的60页报告来说太慢了-需要几分钟才能生成,而purePDF/Flash只需几秒钟就可以完成。这对于常量向量来说是非常正确的解决方案,与公共静态var COLUMNWIDTHS:Vector相反。