我正在使用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] );
Run Code Online (Sandbox Code Playgroud)
我试图使用这个COLUMNWIDTHS问题,但似乎图书馆希望将它设置为公共静态const - 我不能用它的方式 - 一个公共变量.我涉足很多AS3,但在我开始修改项目的代码之前没有遇到过这个问题.
我该如何解决这个问题?
我不完全确定我理解你的问题.但看起来你想要COLUMNWIDTHS动态改变,但它也必须是一个static const.
如果这是问题,你可以修复它,声明你Vector喜欢这样:
public static const COLUMNWIDTHS: Vector.<Number> = new Vector.<Number>();
Run Code Online (Sandbox Code Playgroud)
然后,更新其内容,例如:
for (var i:int = 0; i < 10; i++) {
COLUMNWIDTHS[i] = 3;
}
Run Code Online (Sandbox Code Playgroud)
虽然起初看起来有点违反直觉,但COLUMNWIDTHS声明的事实const并不意味着你无法改变对象的内容.它只是意味着引用是不变的.它指向一个对象,你不能指向另一个对象.也就是说,您无法重新分配COLUMNWIDTHS,但您肯定可以更改其内容.