我在位于domainA的Main.swf中实例化了一个 Singleton 类。该文件通过LoaderMax (http://www.greensock.com/)从domainB加载Game.swf 。当我尝试访问 Singleton 时,我猜这与Main.swf中的 on instatiated 不同。
有什么办法可以强迫这个吗?
我在位于domainA的Main.swf中实例化了一个 Singleton 类。该文件通过LoaderMax (http://www.greensock.com/)从domainB加载Game.swf 。当我尝试访问 Singleton 时,我猜这与Main.swf中的 on instatiated 不同。
有什么办法可以强迫这个吗?
如果您的文件被加载到同一个应用程序域,它应该是同一个单例。您可以使用LoaderContext来做到这一点。
此外,您可以使用依赖注入框架,如SwiftSuspender来更优雅地处理此问题,但由于其中大多数严重依赖describeType,如果您需要将内容注入大量游戏,我建议您测试性能问题对象。
这是使用 Singleton 的众多问题之一 (http://misko.hevery.com/2008/11/21/clean-code-talks-global-state-and-singletons/)。我是否可以建议,您只需将实例传递给 game.swf,然后将如何实例化的责任留给 main.swf?