| Refresh | Home EGTry.com

all data type convert to Object when saved to SharedObject


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"   layout="absolute">
	<mx:Script>
		<![CDATA[
		
			private	var so:SharedObject=SharedObject.getLocal("3dArray","/");
			
			private function onSave():void {
				var d:Array=[ [[1,2],[3,4]], [[5,6],[7,8]]  ];
				so.data["3d"]=d;
			}
			
			private function onRetrieve():void {
				var obj:Object=so.data["3d"]; //can not be Array
				for(var i:int=0; i<2; i++) {
					for(var j:int=0;j<2;j++) {
						for(var k:int=0; k<2; k++) {
							trace(obj[i][j][k]);
						}
					}
				}
			}
			
		]]>
	</mx:Script>
	
	<mx:Button label="Save" click="onSave()"  x="21" y="10"/>
	<mx:Button label="Retrieve" click="onRetrieve()"  x="10" y="51"/>
	
</mx:Application>

In a concrete Object, out generic Object

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"   layout="absolute">
	<mx:Script>
		<![CDATA[
		
			private	var so:SharedObject=SharedObject.getLocal("testobject","/");
			
			private function onSave():void {
				var model:SimpleModel=new SimpleModel();
				model.name="You";
				model.title="Another Field";
				so.data["key1"]=model;
			}
			
			private function onRetrieve():void {
				var obj:Object=so.data["key1"]; 
				for (var key:String in obj) {
					trace(key+"=>"+obj[key]);
				}

			}
			
		]]>
	</mx:Script>
	
	<mx:Button label="Save" click="onSave()"  x="21" y="10"/>
	<mx:Button label="Retrieve" click="onRetrieve()"  x="10" y="51"/>
	
</mx:Application>