oop - How to pass by reference in ActionScript? -


i'm trying modify object in class. have this:

mainclass.as:

.. var myobject:object = new object(); class2_instance.get_json(myobject); trace(myobject.id); // output: undefined. whereas should 42. see below. .. 

class2.as

public function get_json(url:string , the_object:object)  {      var request:urlrequest = new urlrequest(url);      var variables:urlloader = new urlloader();      variables.dataformat = urlloaderdataformat.text;      variables.addeventlistener(event.complete, complete_handler_json(the_object));      try      {          variables.load(request);      }       catch (error:error)      {          trace("unable load url: " + error);      }  }   function complete_handler_json(the_object:object):function  {   return function(event:event):void    {     var loader:urlloader = urlloader(event.target);      the_object = json.parse(loader.data);        trace(the_object.id); //returns 42.   }; } 

so json operation performs correctly within class2, , assigns .parse() value the_object, think there don't understand as's pass-by-reference logic. since expecting myobject in mainclass.as change, too.

what should modify value of function argument (myobject) directly ?

thanks !

objects passed reference.

but see in code overwriting the_object 1 on line : the_object=json.parse(loader.data).

you can create new variable , copy values in the_object:

var json:object = json.parse(loader.data); (var k:string in json) {  the_object[k]=json[k]; } 

Comments

Popular posts from this blog

java - Jmockit String final length method mocking Issue -

asp.net - Razor Page Hosted on IIS 6 Fails Every Morning -

c++ - wxwidget compiling on windows command prompt -