SharedObject に Vector.<T> を保存するときのメモ
12月 27th, 2012ActionScript 3.0
Vector.<String> 型を SharedObject に入れて取り出したとき躓いたのでメモ。
入れるときはそのまま入れます。
var hoges:Vector.<String> = new Vector.<String>(); ... var sharedObject:SharedObject = SharedObject.getLocal(SHARED_NAME); sharedObject.data.hoges = hoges;
取り出すとき、そのままだとエラーとなります。
var hoges:Vector.<String>; var sharedObject:SharedObject = SharedObject.getLocal(SHARED_NAME); hoges = sharedObject.data.hoges; TypeError: Error #1034: 強制型変換に失敗しました。 __AS3__.vec::Vector.<Object>@715f611 を __AS3__.vec.Vector.<String> に変換できません。
これは、Vector.<Object> として受け取るからですね。
そこで、キャストしてあげます。
var hoges:Vector.<String>; var sharedObject:SharedObject = SharedObject.getLocal(SHARED_NAME); hoges = Vector.<String>(sharedObject.data.hoges);
これで無事解決。