AIR: 2008年10月アーカイブ

あるクラスにアクセスした時に最初の1回だけstaticな変数などの初期化処理を行いたい。staticじゃないやつはコンストラクタで出来るのに・・・


静的初期化子を使えばいいそうです。具体的には、
 staticな変数の初期化(1行でかけない場合)
 styleの初期化
があるみたい。もっとあると思うけどすぐ出てこない。


styleの初期化っていうのは例えば、スタイルシートには
.hogeって書くクラスセレクタと
Hogeってかくタイプセレクタがあって、

このタイプセレクタの初期化ってのがクラスに最初にアクセスが起ったタイミングでやりたいので、
静的初期化子を使えということ。

スタイルについては後でまとめます。今回は静的初期化子の話。


javaとかだと
static {

}
とかで出来るんだけど(実際やってるの見たことないけどww)


ActionScriptではそういうのがないから、




とかってやればいいらしい。

ちなみに、constな定数は、宣言時じゃないと初期化できないみたい。

初期化に複数行かかる場合は、同じやり方でその処理メソッドにして宣言時にその戻り値を入れるようにすればok

以前、Eventクラス系とかあんまり詳しくなかった頃、

[Air] 動的にリサイズを可能にしたり不可能にしたりする


「もっといい方法があれば教えてください」

って書いてたら、次の日くらいに現実世界で「イベントキャンセルすればいいじゃん」って教えてもらってたんだけど、当時は、

イベントを・・・キャンセルする???どうやって????
まぁ今ちゃんと制御できてるからいいや

っていうレべルで汗
保守的にあのやり方はまずいのを最近実感してたところで、通りすがりの方からコメントがあったので


ちゃんとしたコードを書きます。


Event#preventDefault()でcancelable=trueなデフォルトのイベントをキャンセルできるみたいです


iKnow

あわせて読みたいブログパーツ
Firefox meter