A carcaça de uma página visitada Mediador com o PureMVC como sua própria classe retorna null
-
16-09-2020 - |
Pergunta
Eu tenho um mediador que eu já registrado para a página de navegação:
facade.registerMediator(new NavPageMediator(viewComponent));
Eu estou tentando recuperar o mediador em outra página assim:
var navPageMediator:NavPageMediator = facade.retrieveMediator(NavPageMediator.NAME) as NavPageMediator;
No entanto, essa instrução retorna null
.Se eu tentar lançá-lo usando o NavPageMediator(facade.retrieveMediator(NavPageMediator.NAME))
sintaxe em vez disso, eu recebo um
TypeError: Error #1034: Type Coercion failed: cannot convert com.website.mvc.view.page::NavPageMediator@237560a1 to com.website.mvc.view.page.NavPageMediator.`
Eu não posso, para a vida de mim, entender o porquê NavPageMediator@237560a1
seria incapaz de converter-se para NavPageMediator
, nem o que aconteceu entre a registar o mediador e recuperar o que causou isso.Especialmente desde que trace(new NavPageMediator() as NavPageMediator);
retorna [object NavPageMediator]
.
Aliás, e isso pode ser parte do meu problema, eu não entendo o que o @hash no final do objeto é (@237560a1
).É simplesmente um identificador interno para que a instância da classe?
Editar: Deixou um pouco de informação importante:O SWF em que eu instanciar e registrar o mediador é separado do SWF em que eu tente recuperá-lo.
Solução
Descobri.Girou para fora para ser um ApplicationDomain problema.A atribuição de ambos os fundos soberanos (o titular e o retriever) para o mesmo domínio resolvido o problema.
Além disso, eu tenho certeza que o @hash no final do nome da classe é uma referência interna para o ApplicationDomain ao qual a classe pertence.Então, NavPageMediator@237560a1
foi em um domínio diferente NavPageMediator
(por que não havia de hash sobre o segundo eu ainda não estou certo;que teria feito as coisas um pouco mais claras).