I have a convenience collection class in my Flex project called HashMap, which is essentially a wrapper around the flash.utils.Dictionary with a bunch of convenience methods and an added (synced) ArrayCollection so that I can pass the HashMap to bindable controls that want an ArrayCollection. That all works fine.
What doesn't work fine, I'm finding out just now, is putting that HashMap in a local SharedObject.
Registering the class causes it to be stored and come back as the proper type, and the ArrayCollection member comes back just fine, but the Dictionary doesn't store its data..
Here's a snippet:
[RemoteClass(alias="com.tamedtornado.collections.HashMap")]
public class HashMap extends Proxy
{
public var hash:Dictionary = new Dictionary();
// Keeps an array collection as well so we can give this to a data bound control
[Bindable]
public var collection:ArrayCollection = new ArrayCollection();
So that's the relevant stuff. What's the procedure for getting that Dictionary to store itself correctly? I actually have to make the ArrayCollection transient, as right now every time the SO is flushed, I'm getting another copy of the (uniquely keyed in the Dictionary) data.