|
|
Show Posts
|
Pages: [1]
|
1
|
PureMVC Manifold / MultiCore Version / Re: trouble with dynamically created mediators
|
on: March 28, 2009, 08:06:44
|
Found the solution! I check out the view.registerMediator code and found that a mediator must have a unique name for it to be registered.
So I had to change my code in the ApplicationMediator to:
var xOffset:Number = Constants.ITEM_STARTING_X_COORDINATE;
for (var i:int = 0; i <= maxNumOfItems; i++) { var mc:mcItem = new mcItem(); mc.name = i.toString(); viewComponent.addChild(mc); mc.x = xOffset; xOffset += mc.width; facade.registerMediator (new mcItemMediator(mc, "mcItemMediator" + i.toString())); }
And then I also needed to modify the mcItemMediator code to the following:
public class mcItemMediator extends Mediator implements IMediator { public static var NAME:String = "mcItemMediator"; public function mcItemMediator(viewComponent:Object, strName:String):void { trace("mcItemMediator"); NAME = strName; super(NAME, viewComponent); } override public function onRegister():void { trace("onRegister"); } }
|
|
|
2
|
PureMVC Manifold / MultiCore Version / trouble with dynamically created mediators
|
on: March 28, 2009, 01:52:39
|
Hoping that some of you guys can give me some insight on why my mediators are failing to register.
In my ApplicationMediator, I have the following code:
var xOffset:Number = Constants.ITEM_STARTING_X_COORDINATE;
for (var i:int = 0; i <= maxNumOfItems; i++) { var mc:mcItem = new mcItem(); mc.name = i.toString(); viewComponent.addChild(mc); mc.x = xOffset; xOffset += mc.width; facade.registerMediator (new mcItemMediator(mc)); }
From my trace statements in my code I can see that the constructor for mcItemMediator is being called maxNumOfItems times but I am only getting the onRegister being triggered for the first instance of mcItemMediator.
Here is the code for the mcItemMediator:
public class mcItemMediator extends Mediator implements IMediator { public static const NAME:String = "mcItemMediator"; public function mcItemMediator(viewComponent:Object):void { trace("mcItemMediator"); super(NAME, viewComponent); } override public function onRegister():void { trace("onRegister"); } }
|
|
|
|
|