シングルトンがデリケートな話題であることは知っていますが、それについて、またはこの実装についてどう思うかについては、本当に聞きたくありません。この質問はそれについてではありません。
そのため、インスタンスで静的変数を使用してシングルトンを実装しました。
private static var instance:SomeClass = new SomeClass();
public static function getInstance():SomeClass {
return instance;
}
SomeClassはライブラリ内のクラスであり、その中に と呼ばれるインスタンスがありますsomeSymbol。
なぜか、シングルトンとして使っていると、アクセスしようSomeClassとすると毎回. しかし、通常のインスタンス化で実装すると、エラーは消えます。someSymbolCannot access a property or method of a null object referenceSomeClass
さまざまな方法でアクセスしようとしましsomeSymbolたが、常にエラーが発生します。
someSymbol.rotation = 0;
そしてまた
var aSymbol = getChildByName("someSymbol");
aSymbol.rotation = 0;
そしてまた
trace(someSymbol); // null
trace(this['someSymbol']); // null
trace(SomeClass.instance.someSymbol); // throws error
nullでは、通常のようにクラスをインスタンス化するときではなく、このシングルトン実装を使用するときに取得するのはなぜですか?
編集:
@Marty Wallace の回答のおかげで、シングルトンの実装を変更したところ、動作するようになりました。
したがって、この方法でインスタンスをインスタンス化する代わりに:
private static var instance:SomeClass = new SomeClass();
代わりにgetInstance()、@Marty が行うように、最初に呼び出されたときにインスタンス化します。
カーテンの後ろで何が起こっているのか正確にはわかりませんがSomeClass、ドキュメント クラスが実行される前にインスタンス化するときに、完全にエクスポートされていないようです。